This commit was manufactured by cvs2svn to create branch
'john_perf_20030224'.

Sprout from master 2003-02-17 15:55:24 UTC John Arthorne <johna> 'Updated performance test suite'
Delete:
    bundles/org.eclipse.core.boot/.classpath
    bundles/org.eclipse.core.boot/.cvsignore
    bundles/org.eclipse.core.boot/.options
    bundles/org.eclipse.core.boot/.project
    bundles/org.eclipse.core.boot/about.html
    bundles/org.eclipse.core.boot/boot.xml
    bundles/org.eclipse.core.boot/build.properties
    bundles/org.eclipse.core.boot/plugin.properties
    bundles/org.eclipse.core.boot/plugin.xml
    bundles/org.eclipse.core.boot/splash.bmp
    bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
    bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
    bundles/org.eclipse.core.runtime/.classpath
    bundles/org.eclipse.core.runtime/.cvsignore
    bundles/org.eclipse.core.runtime/.options
    bundles/org.eclipse.core.runtime/.project
    bundles/org.eclipse.core.runtime/about.html
    bundles/org.eclipse.core.runtime/build.properties
    bundles/org.eclipse.core.runtime/doc/hglegal.htm
    bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
    bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
    bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
    bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
    bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
    bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
    bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
    bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
    bundles/org.eclipse.core.runtime/plugin.properties
    bundles/org.eclipse.core.runtime/plugin.xml
    bundles/org.eclipse.core.runtime/schema/applications.mxsd
    bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
    bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
    tests/org.eclipse.core.tests.runtime/.classpath
    tests/org.eclipse.core.tests.runtime/.cvsignore
    tests/org.eclipse.core.tests.runtime/.project
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
    tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
    tests/org.eclipse.core.tests.runtime/about.html
    tests/org.eclipse.core.tests.runtime/build.properties
    tests/org.eclipse.core.tests.runtime/plugin.xml
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
    tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java
diff --git a/bundles/org.eclipse.core.boot/.classpath b/bundles/org.eclipse.core.boot/.classpath
deleted file mode 100644
index dbbc1d8..0000000
--- a/bundles/org.eclipse.core.boot/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.boot/.cvsignore b/bundles/org.eclipse.core.boot/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.core.boot/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/.options b/bundles/org.eclipse.core.boot/.options
deleted file mode 100644
index 7ec63ac..0000000
--- a/bundles/org.eclipse.core.boot/.options
+++ /dev/null
@@ -1,28 +0,0 @@
-#### Monitoring settings

-# monitor class loading

-org.eclipse.core.boot/monitor/classes=false

-

-# monitor plugin activation

-org.eclipse.core.boot/monitor/plugins=false

-

-# monitor resource bundle (*.properties) loading

-org.eclipse.core.boot/monitor/bundles=false

-

-

-#### Trace settings

-# trace class loading - snapshot the execution stack when a class is loaded

-org.eclipse.core.boot/trace/classLoading=false

-

-# trace location - file in which execution traces are written

-org.eclipse.core.boot/trace/filename=runtime.traces

-

-# trace filters - Java properties file defining which classes should 

-# be traced (if trace/classLoading is true)

-# File format:

-# plugins=<comma separated list of plugins whose classes to trace>

-# packages=<comma separated list of package prefixes of classes to trace>

-# Note that there may be many 'plugins' and 'packages' lines in one file.

-org.eclipse.core.boot/trace/filters=trace.properties

-

-# trace plugin activation - snapshot the execution stack when a plugin is activated

-org.eclipse.core.boot/trace/pluginActivation=false

diff --git a/bundles/org.eclipse.core.boot/.project b/bundles/org.eclipse.core.boot/.project
deleted file mode 100644
index cd0e722..0000000
--- a/bundles/org.eclipse.core.boot/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.boot</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/bundles/org.eclipse.core.boot/about.html b/bundles/org.eclipse.core.boot/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.core.boot/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/boot.xml b/bundles/org.eclipse.core.boot/boot.xml
deleted file mode 100644
index 537f5af..0000000
--- a/bundles/org.eclipse.core.boot/boot.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<requires>
-   <import plugin="org.eclipse.core.runtime" version="2.1.0" match="equivalent"/>
-</requires>
diff --git a/bundles/org.eclipse.core.boot/build.properties b/bundles/org.eclipse.core.boot/build.properties
deleted file mode 100644
index 0dde92b..0000000
--- a/bundles/org.eclipse.core.boot/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.boot.jar=src/
-src.includes=about.html
-bin.includes=plugin.xml,boot.xml,*.jar,plugin.properties,about.html,splash.bmp,.options
-javadoc.packages=org.eclipse.core.boot.*
-
diff --git a/bundles/org.eclipse.core.boot/plugin.properties b/bundles/org.eclipse.core.boot/plugin.properties
deleted file mode 100644
index e1d6eca..0000000
--- a/bundles/org.eclipse.core.boot/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# Boot strings
-pluginName = Core Boot
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/plugin.xml b/bundles/org.eclipse.core.boot/plugin.xml
deleted file mode 100644
index 8999206..0000000
--- a/bundles/org.eclipse.core.boot/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.core.boot"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName">
-
-<runtime>
-   <library name="boot.jar">
-      <export name="*"/>
-      <packages prefixes="com.ibm.oti,org.eclipse.core"/>
-   </library>
-</runtime>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.boot/splash.bmp b/bundles/org.eclipse.core.boot/splash.bmp
deleted file mode 100644
index a0498f5..0000000
--- a/bundles/org.eclipse.core.boot/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
deleted file mode 100644
index 23e2fd6..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-
-/**
- * Special boot loader class for the Eclipse Platform. This class cannot
- * be instantiated; all functionality is provided by static methods.
- * <p>
- * The Eclipse Platform makes heavy use of Java class loaders for
- * loading plug-ins. Even the Platform Core Runtime itself, including
- * the <code>Platform</code> class, needs to be loaded by a special 
- * class loader. The upshot is that a client program (such as a Java main
- * program, a servlet) cannot directly reference even the 
- * <code>Platform</code> class. Instead, a client must use this
- * loader class for initializing the platform, invoking functionality
- * defined in plug-ins, and shutting down the platform when done.
- * </p>
- *
- * @see org.eclipse.core.runtime.Platform
- */
-public final class BootLoader {
-
-	/**
-	 * The unique identifier constant (value "<code>org.eclipse.core.boot</code>")
-	 * of the Core Boot (pseudo-) plug-in.
-	 */
-	public static final String PI_BOOT = "org.eclipse.core.boot";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "win32") indicating the platform is running on a
-	 * Window 32-bit operating system (e.g., Windows 98, NT, 2000).
-	 */
-	public static final String OS_WIN32 = "win32";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "linux") indicating the platform is running on a
-	 * Linux-based operating system.
-	 */
-	public static final String OS_LINUX = "linux";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "aix") indicating the platform is running on an
-	 * AIX-based operating system.
-	 */
-	public static final String OS_AIX = "aix";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "solaris") indicating the platform is running on a
-	 * Solaris-based operating system.
-	 */
-	public static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "hpux") indicating the platform is running on an
-	 * HP/UX-based operating system.
-	 */
-	public static final String OS_HPUX = "hpux";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "qnx") indicating the platform is running on a
-	 * QNX-based operating system.
-	 */
-	public static final String OS_QNX = "qnx";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "macosx") indicating the platform is running on a
-	 * Mac OS X operating system.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "unknown") indicating the platform is running on a
-	 * machine running an unknown operating system.
-	 */
-	public static final String OS_UNKNOWN = "unknown";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "x86") indicating the platform is running on an
-	 * x86-based architecture.
-	 */
-	public static final String ARCH_X86 = "x86";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "PA_RISC") indicating the platform is running on an
-	 * PA_RISC-based architecture.
-	 */
-	public static final String ARCH_PA_RISC = "PA_RISC";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "ppc") indicating the platform is running on an
-	 * PowerPC-based architecture.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String ARCH_PPC = "ppc";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "sparc") indicating the platform is running on an
-	 * Sparc-based architecture.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String ARCH_SPARC = "sparc";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "win32") indicating the platform is running on a
-	 * machine using the Windows windowing system.
-	 */
-	public static final String WS_WIN32 = "win32";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "motif") indicating the platform is running on a
-	 * machine using the Motif windowing system.
-	 */
-	public static final String WS_MOTIF = "motif";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "gtk") indicating the platform is running on a
-	 * machine using the GTK windowing system.
-	 */
-	public static final String WS_GTK = "gtk";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "photon") indicating the platform is running on a
-	 * machine using the Photon windowing system.
-	 */
-	public static final String WS_PHOTON = "photon";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "carbon") indicating the platform is running on a
-	 * machine using the Carbon windowing system (Mac OS X).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String WS_CARBON = "carbon";//$NON-NLS-1$
-
-	/**
-	 * Constant string (value "unknown") indicating the platform is running on a
-	 * machine running an unknown windowing system.
-	 */
-	public static final String WS_UNKNOWN = "unknown";//$NON-NLS-1$
-
-	private static final String[] ARCH_LIST = {
-		ARCH_PA_RISC,
-		ARCH_PPC,
-		ARCH_SPARC,
-		ARCH_X86
-	};
-	private static final String[] OS_LIST = {
-		OS_AIX,
-		OS_HPUX,
-		OS_LINUX,
-		OS_MACOSX,
-		OS_QNX,
-		OS_SOLARIS,
-		OS_WIN32
-	};
-	private static final String[] WS_LIST = {
-		WS_CARBON,
-		WS_GTK,
-		WS_MOTIF,
-		WS_PHOTON,
-		WS_WIN32
-	};
-/**
- * Private constructor to block instance creation.
- */
-private BootLoader() {
-}
-/**
- * Returns whether the given location (typically a directory in the
- * local file system) contains the saved data for a platform. The
- * saved data for the platform is recognizable by the presence of
- * a special platform metadata subdirectory; however, this metadata
- * directory is not usually created unless there is some reason to do so
- * (for example, so that an active plug-in can save its state).
- *
- * @return <code>true</code> if the location contains the 
- *		saved data for a platform, and <code>false</code> otherwise
- */
-public static boolean containsSavedPlatform(String location) {
-	return InternalBootLoader.containsSavedPlatform(location);
-}
-/**
- * Returns the command line args provided to the platform when it was first run.
- * Note that individual platform runnables may be provided with different arguments
- * if they are being run individually rather than with <code>Platform.run()</code>.
- * 
- * @return the command line used to start the platform
- */
-public static String[] getCommandLineArgs() {
-	return InternalBootLoader.getCommandLineArgs();
-}
-/**
- * Returns the current platform configuration.
- * 
- * @return platform configuration used in current instance of platform
- * @since 2.0
- */	
-public static IPlatformConfiguration getCurrentPlatformConfiguration() {
-	return InternalBootLoader.getCurrentPlatformConfiguration();
-}
-/**
- * Returns URL at which the Platform runtime executables and libraries are installed.
- * The returned value is distinct from the location of any given platform's data.
- *
- * @return the URL indicating where the platform runtime is installed.
- */
-public static URL getInstallURL() {
-	return InternalBootLoader.getInstallURL();
-}
-/**
- * Returns the string name of the current locale for use in finding files
- * whose path starts with <code>$nl$</code>.
- *
- * @return the string name of the current locale
- */
-public static String getNL() {
-	return InternalBootLoader.getNL();
-}
-/**
- * Returns the string name of the current operating system for use in finding
- * files whose path starts with <code>$os$</code>.  <code>OS_UNKNOWN</code> is
- * returned if the operating system cannot be determined.  
- * The value may indicate one of the operating systems known to the platform
- * (as specified in <code>knownOSValues</code>) or a user-defined string if
- * the operating system name is specified on the command line.
- *
- * @return the string name of the current operating system
- * @see #knownOSValues
- * 
- */
-public static String getOS() {
-	return InternalBootLoader.getOS();
-}
-/**
- * Returns the string name of the current system architecture.  
- * The value is a user-defined string if the architecture is 
- * specified on the command line, otherwise it is the value 
- * returned by <code>java.lang.System.getProperty("os.arch")</code>.
- * 
- * @return the string name of the current system architecture
- * @since 2.0
- */
-public static String getOSArch() {
-	return InternalBootLoader.getOSArch();
-}
-/**
- * Returns a platform configuration object, optionally initialized with previously saved
- * configuration information.
- * 
- * @param url location of previously save configuration information. If <code>null</code>
- * is specified, an empty configuration object is returned
- * @return platform configuration used in current instance of platform
- * @since 2.0
- */	
-public static IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-	return InternalBootLoader.getPlatformConfiguration(url);
-}
-/**
- * Returns the complete plugin path defined by the file at the given location.
- * If the given location is <code>null</code> or does not indicate a valid 
- * plug-in path definition file, <code>null</code> is returned.
- *
- * @return the complete set of URLs which locate plug-ins
- */
-public static URL[] getPluginPath(URL pluginPathLocation) {
-	return InternalBootLoader.getPluginPath(pluginPathLocation);
-}
-/**
- * Instantiates and returns an instance of the named application's 
- * runnable entry point.
- * <code>null</code> is returned if the runnable cannot be found.
- *
- * @param applicationName the fully qualified name of an 
- * 		extension installed in the platform's <code>applications</code> 
- *		extension point (i.e., <code>org.eclipse.core.applications</code>).
- * @return a platform runnable
- * @exception Exception if there is a problem instantiating the specified runnable
- */
-public static IPlatformRunnable getRunnable(String applicationName) throws Exception {
-	return InternalBootLoader.getRunnable(applicationName);
-}
-/**
- * Instantiates and returns an instance of the named class.  The class
- * must implement <code>IPlatformRunnable</code>.
- * If the class implements <code>IExecutableExtension</code>, the created
- * instance is initialized with the given arguments.
- * <code>null</code> is returned if the runnable cannot be found.
- *
- * @param pluginId the unique identifier of the plug-in containing the given class
- * @param className the fully qualified name of the class to instantiate
- * @param args the initialization arguments passed to the new instance
- * @return a platform runnable, or <code>null</code> if the runnable cannot
- *    be found
- * @exception Exception if there is a problem instantiating the specified runnable
- */
-public static IPlatformRunnable getRunnable(String pluginId, String className, Object args) throws Exception {
-	return InternalBootLoader.getRunnable(pluginId, className, args);
-}
-/**
- * Returns the string name of the current window system for use in finding files
- * whose path starts with <code>$ws$</code>.  <code>null</code> is returned
- * if the window system cannot be determined.
- *
- * @return the string name of the current window system or <code>null</code>
- */
-public static String getWS() {
-	return InternalBootLoader.getWS();
-}
-/**
- * Returns a list of known system architectures.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by 
- * <code>getOSArch</code> may not be in this list. Also, this list may 
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- * 
- * @return the list of system architectures known to the system
- * @see #getOSArch
- * @since 2.0
- */
-public static String[] knownOSArchValues() {
-	return ARCH_LIST;
-}
-/**
- * Returns a list of known operating system names.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by 
- * <code>getOS</code> may not be in this list. Also, this list may 
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- * 
- * @return the list of operating systems known to the system
- * @see #getOS
- * @since 2.0
- */
-public static String[] knownOSValues() {
-	return OS_LIST;
-}
-/**
- * Returns a list of known windowing system names.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by 
- * <code>getWS</code> may not be in this list. Also, this list may 
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- * 
- * @return the list of window systems known to the system
- * @see #getWS
- * @since 2.0
- */
-public static String[] knownWSValues() {
-	return WS_LIST;
-}
-/**
- * Returns <code>true</code> if the platform is currently running in 
- * debug mode.  The platform is run
- * in debug mode using the "-debug" command line argument.
- *
- * @return whether or not the platform is running in debug mode
- */
-public static boolean inDebugMode() {
-	return InternalBootLoader.inDebugMode();
-}
-/**
- * Returns <code>true</code> if the platform is currently running in 
- * development mode.  That is, if special procedures are to be 
- * taken when defining plug-in class paths.  The platform is run
- * in development mode using the "-dev" command line argument.
- *
- * @return whether or not the platform is running in development mode
- */
-public static boolean inDevelopmentMode() {
-	return InternalBootLoader.inDevelopmentMode();
-}
-/**
- * Returns whether the platform is running.
- * The <code>startup</code> method starts the platform running;
- * the <code>shutdown</code> method stops it.
- *
- * @return <code>true</code> if the platform is running, 
- *		and <code>false</code> otherwise
- * @see #startup
- * @see #shutdown
- */
-public static boolean isRunning() {
-	return InternalBootLoader.isRunning();
-}
-/**
- * Launches the Platform to run a single application. 
- * This convenince method starts up the Platform,
- * runs the indicated application, and then shuts down
- * the Platform. The Platform must not be running already.
- *
- * @param applicationName The fully qualified name of an 
- * 		extension installed in the Platform plug-in's <code>applications</code> 
- *		extension-point (i.e., <code>org.eclipse.core.runtime.applications</code>).
- * @param pluginPathLocation the URL of the plug-in path; this is where
- *		the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- *		file system) for the saved platform state
- * @param args the array of command-line style argments which are passed
- *		to the Platform on initialization.  The arguments which are consumed by the
- * 		Platform's initialization are removed from the arg list.  This modified arg list is
- *		the return value of this method.  
- *@return the list of <code>args</code> which were supplied but not consumed
- *		by this method.  
- * @return the result, or <code>null</code> if none
- * @exception Exception if anything goes wrong
- * @see #startup
- */
-public static Object run(String applicationName, URL pluginPathLocation, String location, String[] args) throws Exception {
-	return InternalBootLoader.run(applicationName, pluginPathLocation, location, args, null);
-}
-/**
- * Launches the Platform to run a single application. 
- * This convenince method starts up the Platform,
- * runs the indicated application, and then shuts down
- * the Platform. The Platform must not be running already.
- *
- * @param applicationName The fully qualified name of an 
- * 		extension installed in the Platform plug-in's <code>applications</code> 
- *		extension-point (i.e., <code>org.eclipse.core.runtime.applications</code>).
- * @param pluginPathLocation the URL of the plug-in path; this is where
- *		the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- *		file system) for the saved platform state
- * @param args the array of command-line style argments which are passed
- *		to the Platform on initialization.  The arguments which are consumed by the
- * 		Platform's initialization are removed from the arg list.  This modified arg list is
- *		the return value of this method.
- * @param handler an optional handler invoked by the launched application
- *      at the point the application considers itself initialized. A typical
- *      use for the handler would be to take down any splash screen
- *      that was displayed by the caller of this method.
- *@return the list of <code>args</code> which were supplied but not consumed
- *		by this method.  
- * @return the result, or <code>null</code> if none
- * @exception Exception if anything goes wrong
- * @see #startup
- */
-public static Object run(String applicationName, URL pluginPathLocation, String location, String[] args, Runnable handler) throws Exception {
-	return InternalBootLoader.run(applicationName, pluginPathLocation, location, args, handler);
-}
-/**
- * Shuts down the Platform. The Platform must be running. In the process,
- * each active plug-in is told to shutdown via <code>Plugin.shutdown</code>.
- * <p>
- * Note that the state of the Platform is not automatically saved
- * before shutting down.
- * </p>
- * <p>
- * On return, the Platform will no longer be running (but could
- * be re-launched with another call to <code>startup</code>). 
- * Any objects handed out by running Platform, including
- * Platform runnables obtained via <code>getRunnable</code>,
- * will be permanently invalid. The effects of attempting to invoke
- * methods on invalid objects is undefined.
- * </p>
- * @exception Exception if there were problems shutting down
- */
-public static void shutdown() throws Exception {
-	InternalBootLoader.shutdown();
-}
-/**
- * Launches the Eclipse Platform. The Platform must not be running.
- * <p>
- * The location of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>location</code> argument is specified, that value is used.  
- * <li>If <code>location</code> is <code>null</code> but <code>args</code> 
- *		contains a <code>-data&ltlocation&gt</code> pair, then the given value is used.  
- * <li> If neither is specified, <code>System.getProperty("user.dir")</code> is used.
- * </ul>
- * The plug-in path of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>pluginPathLocation</code> argument is specified, that value is tried.
- * <li>If <code>pluginPathLocation</code> is <code>null</code> but <code>args</code> 
- *		contains a <code>-plugins &ltlocation&gt</code> pair, then the given value is tried.  
- * <li>If neither value is specified or a given location does not exist, 
- * 		the Platform's location is searched.  
- * <li>Finally, the default plug-in path is used.  This value identifies the plug-ins in the 
- *		Platform's install location.
- * </ul>
- * @param pluginPathLocation the URL of the plug-in path; this is where
- *		the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- *		file system) for the saved Platform state
- * @param args the array of command-line style argments which are passed
- *		to the platform on initialization.  The arguments which are consumed by the
- * 		Platform's initialization are removed from the arg list.  This modified arg list is
- *		the return value of this method.  
- *	@return the list of <code>args</code> which were supplied but not consumed
- *		by this method.  
- * @exception Exception if there are problems starting the platform
- */
-public static String[] startup(URL pluginPathLocation, String location, String[] args) throws Exception {
-	return InternalBootLoader.startup(pluginPathLocation, location, args, null);
-}
-/**
- * Launches the Eclipse Platform. The Platform must not be running.
- * <p>
- * The location of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>location</code> argument is specified, that value is used.  
- * <li>If <code>location</code> is <code>null</code> but <code>args</code> 
- *		contains a <code>-data &ltlocation&gt</code> pair, then the given value is used.  
- * <li> If neither is specified, <code>System.getProperty("user.dir")</code> is used.
- * </ul>
- * The plug-in path of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>pluginPathLocation</code> argument is specified, that value is tried.
- * <li>If <code>pluginPathLocation</code> is <code>null</code> but <code>args</code> 
- *		contains a <code>-plugins &ltlocation&gt</code> pair, then the given value is tried.  
- * <li>If neither value is specified or a given location does not exist, 
- * 		the Platform's location is searched.  
- * <li>Finally, the default plug-in path is used.  This value identifies the plug-ins in the 
- *		Platform's install location.
- * </ul>
- * @param pluginPathLocation the URL of the plug-in path; this is where
- *		the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- *		file system) for the saved Platform state
- * @param args the array of command-line style argments which are passed
- *		to the platform on initialization.  The arguments which are consumed by the
- * 		Platform's initialization are removed from the arg list.  This modified arg list is
- *		the return value of this method. 
- * @param handler an optional handler invoked by the launched application
- *      at the point the application considers itself initialized. A typical
- *      use for the handler would be to take down any splash screen
- *      that was displayed by the caller of this method. 
- *	@return the list of <code>args</code> which were supplied but not consumed
- *		by this method.  
- * @exception Exception if there are problems starting the platform
- */
-public static String[] startup(URL pluginPathLocation, String location, String[] args, Runnable handler) throws Exception {
-	return InternalBootLoader.startup(pluginPathLocation, location, args, handler);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
deleted file mode 100644
index 4f502ef..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
- 
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * Platform configuration interface. Represents the runtime
- * configuration used by the Eclipse platform. Any configuration
- * changes do not take effect until next startup of the Eclipse
- * platform
- * 
- * @since 2.0
- */
-public interface IPlatformConfiguration {
-	
-	/**
-	 * Configuration entry representing an install site.
-	 * 
-	 * @since 2.0 
-	 */
-	public interface ISiteEntry {
-		
-		/**
-		 * Returns the URL for this site
-		 * 
-		 * @return site url
-		 * @since 2.0
-		 */		
-		public URL getURL();
-		
-		/**
-		 * Returns the policy for this site
-		 * 
-		 * @return site policy
-		 * @since 2.0
-		 */				
-		public ISitePolicy getSitePolicy();
-		
-		/**
-		 * Sets the site policy
-		 * 
-		 * @param policy site policy
-		 * @since 2.0
-		 */
-		public void setSitePolicy(ISitePolicy policy);
-		
-		/**
-		 * Returns a list of features visible on the site. Note, that this is simply a 
-		 * reflection of the site content. The features may or may not be actually configured.
-		 * 
-		 * @return an array of feature entries, or an empty array if no features are found.
-		 * A feature entry is returned as a path relative to the site URL
-		 * @since 2.0
-		 */
-		public String[] getFeatures();
-		
-		/**
-		 * Returns a list of plug-ins visible on the site. Note, that this is simply a 
-		 * reflection of the site content and the current policy for the site. The plug-ins
-		 * may or may not end up being used by Eclipse (depends on which plug-in are 
-		 * actually bound by the platform).
-		 * 
-		 * @return an array of plug-in entries, or an empty array if no plug-ins are found.
-		 * A plug-in entry is returned as a path relative to the site URL		 * 
-		 * @since 2.0
-		 */
-		public String[] getPlugins();
-		
-		/**
-		 * Returns a stamp reflecting the current state of the site. If called repeatedly,
-		 * returns the same value as long as no changes were made to the site (changes to
-		 * features or plugins).
-		 * 
-		 * @return site change stamp
-		 * @since 2.0
-		 */
-		public long getChangeStamp();
-		
-		/**
-		 * Returns a stamp reflecting the current state of the features on the site. 
-		 * If called repeatedly, returns the same value as long as no changes were made to
-		 * features on the site.
-		 * 
-		 * @return site features change stamp 
-		 * @since 2.0
-		 */
-		public long getFeaturesChangeStamp();
-		
-		/**
-		 * Returns a stamp reflecting the current state of the plug-ins on the site. 
-		 * If called repeatedly, returns the same value as long as no changes were made to
-		 * plug-ins on the site.
-		 * 
-		 * @return site plug-ins change stamp 
-		 * @since 2.0
-		 */
-		public long getPluginsChangeStamp();		
-		
-		/**
-		 * Returns an indication whether the site can be updated.
-		 * 
-		 * @return <code>true</code> if site can be updated, <code>false</code> otherwise
-		 * @since 2.0
-		 */
-		public boolean isUpdateable();			
-		
-		/**
-		 * Returns an indication whether the site represents an install site
-		 * that has been linked via a native installer (using the links/<linkfile>
-		 * mechanism)
-		 * 
-		 * @return <code>true</code> if the site is linked, <code>false</code> otherwise
-		 * @since 2.0
-		 */
-		public boolean isNativelyLinked();				
-	}
-	
-	/**
-	 * Site policy. The site policy object determines how plug-ins
-	 * contained on the site are processed during startup. In general,
-	 * there are 3 ways of configuring a site policy
-	 * <ul>
-	 * <li>explicitly specify which plug-ins are to be included at
-	 * startup (type==USER_INCLUDE). Any other plug-ins located
-	 * at the site are ignored at startup. This is typically the best
-	 * policy when using remote sites where the user wishes
-	 * to retain explicit control over the plug-ins that are included
-	 * from such site.
-	 * <li>explicitly specify which plug-ins are to be excluded at
-	 * startup (type==USER-EXCLUDE). All other plug-ins located
-	 * at the site are used at startup. This policy requires that
-	 * the site support an access "protocol" that allows plug-in
-	 * discovery. In general, these are sites defined using the "file"
-	 * URL protocol. This is typically the best policy for local
-	 * install sites (on the user system).
-	 * </ul>
-	 * 
-	 * @since 2.0
-	 */
-	public interface ISitePolicy {
-		
-		/**
-		 * Policy type constants.
-		 */
-	
-		/** 
-		 * User-defined inclusion list. The list associated with this
-		 * policy type is interpreted as path entries to included plugin.xml
-		 * or fragment.xml <b>relative</b> to the site URL
-		 */
-		public static final int USER_INCLUDE = 0;
-	
-		/**
-		 * User-defined exclusion list. The list associated with this
-		 * policy type is interpreted as path entries to excluded plugin.xml
-		 * or fragment.xml <b>relative</b> to the site URL
-		 */
-		public static final int USER_EXCLUDE = 1;
-		
-		/**
-		 * Return policy type
-		 * 
-		 * @return policy type
-		 * @since 2.0
-		 */
-		public int getType();
-		
-		/**
-		 * Return policy inclusion/ exclusion list
-		 * 
-		 * @return the list as an array
-		 * @since 2.0
-		 */
-		public String[] getList();
-		
-		/**
-		 * Set new policy list. The list entries are interpreted based on the policy
-		 * type. See description of the policy type constants for details.
-		 * 
-		 * @param list policy inclusion/ exclusion list as an array.
-		 * Returns an empty array if there are no entries.
-		 * @see USER_INCLUDE
-		 * @see USER_EXCLUDE
-		 * @since 2.0
-		 */
-		public void setList(String[] list);
-	}
-	
-	/**
-	 * Feature entry.
-	 * Represents runtime "hints" about configured features.
-	 * The information is used during execution to locate the
-	 * correct attribution information for a feature. Note,
-	 * that a typical configuration can declare multiple feature
-	 * entries. At execution time, only one can be selected as
-	 * the active primary feature. This is determined based on 
-	 * specified command line arguments or computed defaults.
-	 * 
-	 * @since 2.0
-	 */
-	public interface IFeatureEntry {
-		
-		/**
-		 * Returns feature identifier.
-		 * @return feature identifier
-		 * @since 2.0
-		 */
-		public String getFeatureIdentifier();
-		
-		/**
-		 * Returns the currently configured version for the feature.
-		 * @return feature version (as string), or <code>null</code>
-		 * @since 2.0
-		 */
-		public String getFeatureVersion();
-
-		/**
-		 * Returns the identifier of the feature plug-in for this feature entry.
-	 	 *  Note,      that there is no guarantee that a feature in fact
-	 	 * supplies a corresponding feature plugin, so the result can be
-	 	 * <code>null</code>. Also, if supplied, there is no guarantee that the
-	 	 * plugin will in fact be loaded into the plug-in registry at runtime
-	 	 * (due to rules and constraint checking performed by the registry
-	 	 * loading support). Consequently code making use of this method must
-	 	 * handle these conditions.
-		 * @return feature identifier (as string), or <code>null</code>
-		 * @since 2.1
-		 */
-		public String getFeaturePluginIdentifier();
-
-
-		/**
-		 * Returns the version of the feature plug-in for this feature
-		 * entry. Note, that there is no guarantee that a feature in fact
-		 * supplies a corresponding feature plugin, so the result can be
-		 * <code>null</code>. Also, if supplied, there is no guarantee that the
-		 * plugin will in fact be loaded into the plug-in registry at runtime
-		 * (due to rules and constraint checking performed by the registry
-		 * loading support). Consequently code making use of this method must
-		 * handle these conditions.
-		 * @return feature version (as string), or <code>null</code>
-		 * @since 2.0
-		 */
-		public String getFeaturePluginVersion();
-		
-		/**
-		 * Returns the application to run when this feature is the
-		 * primary feature.
-		 * @return application identifier, or <code>null</code> 
-		 * @since 2.0
-		 */
-		public String getFeatureApplication();
-		
-		/**
-		 * Returns URLs to the feature "root" locations. The root
-		 * URLs are install locations of the feature plugin and its
-		 * fragments.
-		 *
-		 * @return array of URLs, or an empty array
-		 * @since 2.0
-		 */
-		public URL[] getFeatureRootURLs();
-		
-		/**
-		 * Returns an indication whether this feature has been defined
-		 * to act as a primary feature.
-		 * @return <code>true</code> if the feature can be primary,
-		 * <code>false</code> otherwise.
-		 * @since 2.0
-		 */
-		public boolean canBePrimary();
-	}
-	
-	/**
-	 * Create a site entry
-	 *
-	 * @param url site URL
-	 * @param policy site policy
-	 * @return created site entry
-	 * @since 2.0
-	 */	
-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy);
-			
-	/**
-	 * Create a site policy. The policy determines the way the site
-	 * plug-in are processed at startpu
-	 *
-	 * @param type policy type
-	 * @param list an array of site-relative paths representing the
-	 * inclusion/ exclusion list
-	 * @return created site policy entry
-	 * @since 2.0
-	 */		
-	public ISitePolicy createSitePolicy(int type, String[] list);
-	
-	/**
-	 * Create a feature entry
-	 * @param id feature identifier. Must not be <code>null</code>.
-	 * @param version feature version (as String). Can be <code>null</code>.
-	 * @param pluginVersion version of the feature plugin (as String). Can be
-	 * <code>null</code>.
-	 * @param primary <code>true</code> if the feature is defined as a primary
-	 * feature, otherwise <code>false</code>.
-	 * @param application identifier of the application to run when 
-	 * this feature is the primary feature. Can be <code>null</code>.
-	 * If specified, the identifier must represent a valid extension 
-	 * registered in the <code>org.eclipse.core.runtime.applications</code>
-	 * extension point.
-	 * @param an array of URLs to feature root directories.
-	 * These are URLs to install locations for the feature plugin
-	 * and its fragments. Can be <code>null</code>.
-	 * @return create feature entry
-	 * @since 2.0
-	 */	
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root);
-
-	/**
-	 * Create a feature entry
-	 * @param id feature identifier. Must not be <code>null</code>.
-	 * @param version feature version (as String). Can be <code>null</code>.
-	 * @param pluginIdentifier identifier of the feature plugin (as String). Can
-	 * be <code>null</code>.
-     * @param  pluginVersion  version of the feature plugin (as String). Can be
-     * <code>null</code>.
-	 * @param primary <code>true</code> if the feature is defined as a primary
-	 * feature, otherwise <code>false</code>.
-	 * @param application identifier of the application to run when
-	 * this feature is the primary feature. Can be <code>null</code>.
-	 * If specified, the identifier must represent a valid extension
-	 * registered in the <code>org.eclipse.core.runtime.applications</code>
-	 * extension point.
-	 * @param an array of URLs to feature root directories.
-	 * These are URLs to install locations for the feature plugin
-	 * and its fragments. Can be <code>null</code>.
-	 * @return create feature entry
-	 * @since 2.1
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root);
-		
-	/**
-	 * Configures the specified site entry. If a site entry with the
-	 * same site URL is already configured, the entry is <b>not</b> replaced.
-	 * 
-	 * @param entry site entry 
-	 * @since 2.0
-	 */	
-	public void configureSite(ISiteEntry entry);
-		
-	/**
-	 * Configures the specified site entry. If a site entry with the
-	 * same site URL is already configured, the replacement behavior for
-	 * the entry can be specified.
-	 * 
-	 * @param entry site entry 
-	 * @param  flag indicating whether an existing configured entry with
-	 * the same URL should be replaced (<code>true</code>) or not (<code>false</code>).
-	 * @since 2.0
-	 */	
-	public void configureSite(ISiteEntry entry, boolean replace);
-		
-	/**
-	 * Unconfigures the specified entry. Does not do anything if the entry
-	 * is not configured.
-	 * 
-	 * @param entry site entry
-	 * @since 2.0
-	 */	
-	public void unconfigureSite(ISiteEntry entry);
-		
-	/**
-	 * Returns configured site entries
-	 * 
-	 * @return array of site entries. Returns an empty array if no sites are
-	 * configured
-	 * @since 2.0
-	 */	
-	public ISiteEntry[] getConfiguredSites();
-		
-	/**
-	 * Returns a site entry matching the specified URL
-	 * 
-	 * @param url site url
-	 * @return matching site entry, or <code>null</code> if no match found
-	 * @since 2.0
-	 */	
-	public ISiteEntry findConfiguredSite(URL url);
-	
-	/**
-	 * Configures the feature entry.
-	 * If another feature entry with the same feature identifier 
-	 * already exists, it is replaced.
-	 * @param entry feature entry
-	 * @since 2.0
-	 */
-	public void configureFeatureEntry(IFeatureEntry entry);
-	
-	/**
-	 * Unconfigures the specified feature entry if it exists.
-	 * @param entry feature entry
-	 * @since 2.0
-	 */
-	public void unconfigureFeatureEntry(IFeatureEntry entry);
-	
-	/**
-	 * Returns a list of configured feature entries.
-	 * @return array or entries, or an empty array if no entries
-	 * are configured
-	 * @since 2.0
-	 */
-	public IFeatureEntry[] getConfiguredFeatureEntries();
-	
-	/**
-	 * Locates the specified feature entry.
-	 * @param id feature identifier
-	 * @return ferature entry, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public IFeatureEntry findConfiguredFeatureEntry(String id);
-	
-	/**
-	 * Returns the URL location of the configuration information
-	 * 
-	 * @return configuration location URL, or <code>null</code> if the
-	 * configuration location could not be determined.
-	 * @since 2.0
-	 */
-	public URL getConfigurationLocation();
-		
-	/**
-	 * Returns a stamp reflecting the current state of the configuration. If called repeatedly,
-	 * returns the same value as long as no changes were made to the configuration (changes to
-	 * sites, features or plugins).
-	 * 
-	 * @return configuration change stamp
-	 * @since 2.0
-	 */
-	public long getChangeStamp();
-		
-	/**
-	 * Returns a stamp reflecting the current state of the features in the configuration. 
-	 * If called repeatedly, returns the same value as long as no changes were made to
-	 * features in the configuration.
-	 * 
-	 * @return configuration features change stamp 
-	 * @since 2.0
-	 */
-	public long getFeaturesChangeStamp();
-		
-	/**
-	 * Returns a stamp reflecting the current state of the plug-ins in the configuration. 
-	 * If called repeatedly, returns the same value as long as no changes were made to
-	 * plug-ins in the configuration.
-	 * 
-	 * @return configuration plug-ins change stamp 
-	 * @since 2.0
-	 */
-	public long getPluginsChangeStamp();	
-			
-		
-		
-	/**
-	 * Returns the identifier of the configured primary feature. A primary feature
-	 * is used to specify product customization information for a running instance
-	 * of Eclipse. 
-	 * 
-	 * @return primary feature identifier, or <code>null</code> if none configured
-	 * @since 2.0
-	 */
-	public String getPrimaryFeatureIdentifier();	
-	
-	/**
-	 * Computes the plug-in path for this configuration. The result includes all plug-ins
-	 * visible on each of the configured sites based on each site policy.
-	 * 
-	 * @return an array of plug-in path elements (full URL entries), or an empty array.
-	 * @since 2.0
-	 */
-	public URL[] getPluginPath();		
-				
-	/**
-	 * Returns an array of bootstrap plugin identifiers whose
-	 * location needs to be explicitly identified in the configuration.
-	 * 
-	 * @return an array of identifiers, or empty array
-	 * otherwise
-	 * @since 2.0
-	 */
-	public String[] getBootstrapPluginIdentifiers();			
-				
-	/**
-	 * Sets the location of a bootstrap plugin.
-	 * 
-	 * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
-	 * @param id plugin identifier. Must match one of the entries returned
-	 * by getBootstrapPluginIdentifiers()
-	 * @param location
-	 * @since 2.0
-	 */
-	public void setBootstrapPluginLocation(String id, URL location);	
-				
-	/**
-	 * Returns an indication whether the configuration can be updated.
-	 * 
-	 * @return <code>true</code> if configuration can be updated, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public boolean isUpdateable();	
-		
-	/**
-	 * Returns an indication whether the configuration is transient. A transient
-	 * configuration typically represents a scenario where the configuration
-	 * was computed for a single instantiation of the platform and is not
-	 * guaranteed to be valid on subsequent instantiations.
-	 * 
-	 * @return <code>true</code> if configuration is transient, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public boolean isTransient();		
-		
-	/**
-	 * Indicates whether the configuration is transient or not. A transient
-	 * configuration typically represents a scenario where the configuration
-	 * was computed for a single instantiation of the platform and is not
-	 * guaranteed to be valid on subsequent instantiations. This method has
-	 * no effect if called on the current platform configuration.
-	 * 
-	 * @see BootLoader#getCurrentPlatformConfiguration()
-	 * @param value <code>true</code> if configuration is transient, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public void isTransient(boolean value);	
-	
-	/**
-	 * Called to refresh the configuration information. In particular,
-	 * causes change stamps to be recomputed based on the current
-	 * configuration state, and updates the lists of available plug-ins.
-	 * @since 2.0
-	 */	
-	public void refresh();
-	
-	/**
-	 * Called to save the configuration information
-	 * @since 2.0
-	 */	
-	public void save() throws IOException;
-	
-	/**
-	 * Called to save the configuration information in the
-	 * specified location
-	 * 
-	 * @param url save location.
-	 * @since 2.0
-	 */	
-	public void save(URL url) throws IOException;
-
-}
-
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
deleted file mode 100644
index 9c912d1..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
-
-/**
- * Bootstrap type for the platform. Platform runnables represent executable 
- * entry points into plug-ins.  Runnables can be configured into the Platform's
- * <code>org.eclipse.core.runtime.applications</code> extension-point 
- * or be made available through code or extensions on other plug-in's extension-points.
- *
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IPlatformRunnable {
-	
-/**
- * Exit object indicating normal termination
- */
-public static final Integer EXIT_OK = new Integer(0);
-
-/**
- * Exit object requesting platform restart
- */
-public static final Integer EXIT_RESTART = new Integer(23);
-	
-/**
- * Runs this runnable with the given args and returns a result.
- * The content of the args is unchecked and should conform to the expectations of
- * the runnable being invoked.  Typically this is a <code>String<code> array.
- * 
- * @exception Exception if there is a problem running this runnable.
- */
-public Object run(Object args) throws Exception;
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
deleted file mode 100644
index d87fdf3..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
+++ /dev/null
@@ -1,22 +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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides basic support for launching the Eclipse Platform.
-<h2>
-Package Specification</h2>
-The Eclipse Platform makes heavy use of Java class loaders for loading
-plug-ins. Even the Platform Core Runtime itself, including the <tt>Platform</tt>
-class, needs to be loaded by a special class loader. The upshot is that
-a client program (such as a Java main program, a servlet) cannot directly
-reference even the <tt>Platform</tt> class. Instead, a client must use
-a boot loader (provided here) for initializing the platform, invoking functionality
-defined in plug-ins, and shutting down the platform when done.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
deleted file mode 100644
index 835f6b5..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-
-/**
- * BundleStats is used to represent information about loaded bundle. A
- * bundlestats instance represents only one bundle.
- */
-
-public class BundleStats {
-	private String pluginId;	// the plugin loading this bundle
-	private String fileName;	// the filename of the bundle 
-	private int keyCount = 0;	// number of keys in the bundle
-	private int keySize = 0;	// size of the keys in the bundle
-	private int valueSize = 0;	// size of the values in the bundle 
-	private long hashSize = 0;	// size of the hashtable
-	private long fileSize = 0;
-
-	private static int sizeOf(String value) {
-		return 44 + (2 * value.length());
-	}
-
-	private static int sizeOf(Properties value) {
-		return (int)Math.round(44 + (16 + (value.size() * 1.25 * 4)) + (24 * value.size()));
-	}
-
-	public BundleStats(String pluginId, String fileName, InputStream input) {
-		this.pluginId = pluginId;
-		this.fileName = fileName;
-		initialize(input);
-	}
-
-	public BundleStats(String pluginId, String fileName, ResourceBundle bundle) {
-		this.pluginId = pluginId;
-		this.fileName = fileName;
-		initialize(bundle);
-	}
-
-	/**
-	 * Compute the size of bundle
-	 */
-	private void initialize(ResourceBundle bundle) { 
-		for (Enumeration enum = bundle.getKeys(); enum.hasMoreElements();) {
-			String key = (String) enum.nextElement();
-			keySize += sizeOf(key);
-			valueSize += sizeOf(bundle.getString(key));
-			keyCount++;
-		}
-	}
-
-	/**
-	 * Compute the size of stream which represents a property file
-	 */
-	private void initialize(InputStream stream) {
-
-		Properties props = new Properties();
-		try {
-			try {
-				fileSize = stream.available();
-				props.load(stream);
-				for (Iterator iter = props.keySet().iterator(); iter.hasNext();) {
-					String key = (String) iter.next();
-					keySize += sizeOf(key);
-					valueSize += sizeOf(props.getProperty(key));
-					keyCount++;
-				}
-				hashSize = sizeOf(props);
-			} finally {
-				stream.close();
-			}
-		} catch (IOException e) {
-			// ignore exceptions as they will be handled when the stream 
-			// is loaded for real.   See callers.
-		}
-	}
-
-	public long getHashSize() {
-		return hashSize;
-	}
-
-	public int getKeyCount() {
-		return keyCount;
-	}
-
-	public String getPluginId() {
-		return pluginId;
-	}
-
-	public int getKeySize() {
-		return keySize;
-	}
-
-	public int getValueSize() {
-		return valueSize;
-	}
-
-	public long getTotalSize() {
-		return keySize + valueSize + hashSize;
-	}
-
-	public String getFileName() {
-		return fileName;
-	}
-
-	public long getFileSize() {
-		return fileSize;
-	}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
deleted file mode 100644
index e9322ca..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.ArrayList;
-
-/**
- * Maintain statistics about a loaded class.
- */
-public class ClassStats {
-	private String className; // fully qualified name of this class 
-	private ClassloaderStats classloader; // the classloader that loaded this class
-	private int loadOrder = -1;
-
-	private long timestamp; // time at which this class was loaded
-	private long timeLoading; // time to load the class
-	private long timeLoadingOthers = 0; // time spent loading classes which has been triggered by this class  
-
-	// parentage of classes loaded
-	private ClassStats loadedBy = null; // a reference to the class that loaded this class
-	private ArrayList loaded = new ArrayList(2); // a reference to the classes that this class loaded
-
-	private boolean duringStartup; // indicate if the class was loaded during platform startup
-
-	//information to retrieve the stacktrace from the file
-	private long traceStart = -1;
-	private long traceEnd = -1;
-
-	static private boolean booting = true; // whether or not the platform is starting up.
-
-	public static void setBooting(boolean value) {
-		booting = value;
-	}
-
-	public ClassStats(String name, ClassloaderStats classloader) {
-		className = name;
-		timestamp = System.currentTimeMillis();
-		duringStartup = booting;
-		this.classloader = classloader;
-	}
-
-	public void setLoadOrder(int order) {
-		loadOrder = order;
-	}
-
-	public void loadingDone() {
-		timeLoading = System.currentTimeMillis() - timestamp;
-	}
-
-	public long getTimeLoading() {
-		return timeLoading;
-	}
-
-	public long getLocalTimeLoading() {
-		return timeLoading - timeLoadingOthers;
-	}
-
-	public void addTimeLoadingOthers(long time) {
-		timeLoadingOthers = timeLoadingOthers + time;
-	}
-
-	public long getTraceStart() {
-		return traceStart;
-	}
-
-	public long getTraceEnd() {
-		return traceEnd;
-	}
-
-	public void setTraceStart(long position) {
-		traceStart = position;
-	}
-
-	public void setTraceEnd(long position) {
-		traceEnd = position;
-	}
-
-	public void loaded(ClassStats child) {
-		loaded.add(child);
-	}
-
-	public void setLoadedBy(ClassStats parent) {
-		loadedBy = parent;
-	}
-
-	public ClassStats getLoadedBy() {
-		return loadedBy;
-	}
-
-	public ArrayList getLoadedClasses() {
-		return loaded;
-	}
-
-	public String getClassName() {
-		return className;
-	}
-
-	public boolean isStartupClass() {
-		return duringStartup;
-	}
-
-	public ClassloaderStats getClassloader() {
-		return classloader;
-	}
-
-	public int getLoadOrder() {
-		return loadOrder;
-	}
-
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	public void toBaseClass() {
-		duringStartup = true;
-		loadOrder = -2;
-	}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
deleted file mode 100644
index bbf8bb0..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-
-/**
- * Contains information about the classes and the bundles loaded by a given classloader.
- * Typically there is one classloader per plugin so at levels above boot, this equates
- * to information about classes and bundles in a plugin.
- */
-public class ClassloaderStats {
-	private String id;
-	private long loadingTime; // time spent loading classes
-	private int failureCount = 0; // number of classes requested but that we fail to provide
-	private Map classes = new HashMap(20); // classes loaded by the plugin	(key: class name, value: ClassStats) 
-	private ArrayList bundles = new ArrayList(2); // bundles loaded
-
-	private boolean keepTraces = false; // indicate whether or not the traces of classes loaded are kept 
-	// filters to indicate which classes we want to keep the traces
-	private static ArrayList packageFilters = new ArrayList(4); // filters on a package basis
-	private static Set pluginFilters = new HashSet(5); // filters on a plugin basis
-
-	private static Stack classStack = new Stack(); // represents the classes that are currently being loaded 
-	private static Map loaders = new HashMap(20); // a dictionary of the classloaderStats (key: pluginId, value: ClassloaderStats)
-	public static File traceFile;
-
-	static {
-		if (DelegatingURLClassLoader.TRACE_CLASSES || DelegatingURLClassLoader.TRACE_PLUGINS)
-			initializeTraceOptions();
-	}
-
-	private static void initializeTraceOptions() {
-		// create the trace file
-		String filename = DelegatingURLClassLoader.TRACE_FILENAME;
-		traceFile = new File(filename);
-		traceFile.delete();
-
-		//load the filters
-		if (!DelegatingURLClassLoader.TRACE_CLASSES)
-			return;
-		filename = DelegatingURLClassLoader.TRACE_FILTERS;
-		if (filename.length() == 0)
-			return;
-		try {
-			File filterFile = new File(filename);
-			if (!filterFile.isAbsolute())
-				filterFile = new File(InternalBootLoader.getBootDir() + filename);
-			System.out.print("Runtime tracing elements defined in: " + filterFile.getAbsolutePath() + "..."); //$NON-NLS-1$ //$NON-NLS-2$
-			InputStream input = new FileInputStream(filterFile);
-			System.out.println("  Loaded."); //$NON-NLS-1$
-			Properties filters = new Properties() {
-				public Object put(Object key, Object value) {
-					addFilters((String) key, (String) value);
-					return null;
-				}
-			};
-			try {
-				filters.load(input);
-			} finally {
-				input.close();
-			}
-		} catch (IOException e) {
-			System.out.println("  No trace filters loaded."); //$NON-NLS-1$
-		}
-	}
-
-	private static void addFilters(String key, String value) {
-		String[] filters = DelegatingURLClassLoader.getArrayFromList(value);
-		if ("plugins".equals(key)) //$NON-NLS-1$
-			pluginFilters.addAll(Arrays.asList(filters));
-		if ("packages".equals(key)) //$NON-NLS-1$
-			packageFilters.addAll(Arrays.asList(filters));
-	}
-
-	public static void startLoadingClass(String id, String className) {
-		// must be called from a synchronized location to protect against concurrent updates
-		findLoader(id).startLoadClass(className);
-	}
-
-	// get and create if does not exist
-	private static ClassloaderStats findLoader(String id) {
-		ClassloaderStats result = (ClassloaderStats) loaders.get(id);
-		if (result == null) {
-			result = new ClassloaderStats(id);
-			loaders.put(id, result);
-		}
-		return result;
-	}
-
-	public static Stack getClassStack() {
-		return classStack;
-	}
-
-	public static ClassloaderStats[] getLoaders() {
-		return (ClassloaderStats[]) loaders.values().toArray(new ClassloaderStats[loaders.size()]);
-	}
-
-	public static void endLoadingClass(String id, String className, boolean success) {
-		// must be called from a synchronized location to protect against concurrent updates
-		findLoader(id).endLoadClass(className, success);
-	}
-
-	public static void loadedBundle(String id, BundleStats info) {
-		findLoader(id).loadedBundle(info);
-	}
-
-	public static ClassloaderStats getLoader(String id) {
-		return (ClassloaderStats) loaders.get(id);
-	}
-
-	public ClassloaderStats(String id) {
-		this.id = id;
-		keepTraces = pluginFilters.contains(id);
-	}
-
-	public void addBaseClasses(String[] baseClasses) {
-		if (!id.equals(BootLoader.PI_BOOT))
-			return;
-		for (int i = 0; i < baseClasses.length; i++) {
-			String name = baseClasses[i];
-			if (classes.get(name) == null) {
-				ClassStats value = new ClassStats(name, this);
-				value.toBaseClass();
-				classes.put(name, value);
-			}
-		}
-	}
-
-	private void loadedBundle(BundleStats bundle) {
-		bundles.add(bundle);
-	}
-
-	public ArrayList getBundles() {
-		return bundles;
-	}
-
-	private void startLoadClass(String name) {
-		classStack.push(findClass(name));
-	}
-
-	// internal method that return the existing classStats or creates one
-	private ClassStats findClass(String name) {
-		ClassStats result = (ClassStats) classes.get(name);
-		return result == null ? new ClassStats(name, this) : result;
-	}
-
-	private void endLoadClass(String name, boolean success) {
-		ClassStats current = (ClassStats) classStack.pop();
-		if (!success) {
-			failureCount++;
-			return;
-		}
-		if (current.getLoadOrder() >= 0)
-			return;
-
-		classes.put(name, current);
-		current.setLoadOrder(classes.size());
-		current.loadingDone();
-		traceLoad(name, current);
-
-		// is there something on the load stack.  if so, link them together...
-		if (classStack.size() != 0) {
-			// get the time spent loading cli and subtract its load time from the class that requires loading
-			ClassStats previous = ((ClassStats) classStack.peek());
-			previous.addTimeLoadingOthers(current.getTimeLoading());
-			current.setLoadedBy(previous);
-			previous.loaded(current);
-		} else {
-			loadingTime = loadingTime + current.getTimeLoading();
-		}
-	}
-
-	private void traceLoad(String name, ClassStats target) {
-		// Stack trace code
-		if (!keepTraces) {
-			boolean found = false;
-			for (int i = 0; !found && i < packageFilters.size(); i++)
-				if (name.startsWith((String) packageFilters.get(i)))
-					found = true;
-			if (!found)
-				return;
-		}
-
-		// Write the stack trace. The position in the file are set to the corresponding classStat object
-		try {
-			target.setTraceStart(traceFile.length());
-			PrintWriter output = new PrintWriter(new FileOutputStream(traceFile.getAbsolutePath(), true));
-			try {
-				output.println("Loading class: " + name); //$NON-NLS-1$
-				output.println("Class loading stack:"); //$NON-NLS-1$
-				output.println("\t" + name); //$NON-NLS-1$
-				for (int i = classStack.size() - 1; i >= 0; i--)
-					output.println("\t" + ((ClassStats) classStack.get(i)).getClassName()); //$NON-NLS-1$
-				output.println("Stack trace:"); //$NON-NLS-1$
-				new Throwable().printStackTrace(output);
-			} finally {
-				output.close();
-			}
-			target.setTraceEnd(traceFile.length());
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public int getClassLoadCount() {
-		return classes.size();
-	}
-
-	public long getClassLoadTime() {
-		return loadingTime;
-	}
-
-	public ClassStats[] getClasses() {
-		return (ClassStats[]) classes.values().toArray(new ClassStats[classes.size()]);
-	}
-
-	public String getId() {
-		return id;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
deleted file mode 100644
index 3adb83a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
deleted file mode 100644
index 1253afe..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
+++ /dev/null
@@ -1,1047 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformRunnable;
-
-/**
- * Special boot loader class for the Eclipse Platform. This class cannot
- * be instantiated; all functionality is provided by static methods.
- * <p>
- * The Eclipse Platform makes heavy use of Java class loaders for
- * loading plug-ins. Even the Platform Core Runtime itself, including
- * the <code>Platform</code> class, needs to be loaded by a special 
- * class loader. The upshot is that a client program (such as a Java main
- * program, a servlet) cannot directly reference even the 
- * <code>Platform</code> class. Instead, a client must use this
- * loader class for initializing the platform, invoking functionality
- * defined in plug-ins, and shutting down the platform when done.
- * </p>
- *
- * @see org.eclipse.core.runtime.Platform
- */
-public final class InternalBootLoader {
-	private static boolean running = false;
-	private static boolean starting = false;
-	private static String[] commandLine;
-	private static ClassLoader loader = null;
-	private static String baseLocation = null; // -data argument (workspace location)
-	private static String installLocation = null; // -install argument (product install location)
-	private static String applicationR10 = null; // R1.0 compatibility
-	private static URL installURL = null;
-	private static boolean debugRequested = false;
-	private static String devClassPath = null;
-	private static String debugOptionsFilename = null;
-	private static Properties options = null;
-	private static boolean inDevelopmentMode = false;	
-	private static PlatformConfiguration currentPlatformConfiguration = null;
-	
-	// state for tracking the Platform context (e.g., the OS, Window system, locale, architecture, ...)
-	private static String nl = null;
-	private static String ws = null;
-	private static String os = null;
-	private static String arch = null;
-	
-	private static final String PLATFORM_ENTRYPOINT = "org.eclipse.core.internal.runtime.InternalPlatform"; //$NON-NLS-1$
-	private static final String BOOTNAME = "org.eclipse.core.boot"; //$NON-NLS-1$
-	/*package*/ static final String RUNTIMENAME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-	private static final String PLUGINSDIR = "plugins/"; //$NON-NLS-1$
-	private static final String LIBRARY = "library"; //$NON-NLS-1$
-	private static final String EXPORT = "export"; //$NON-NLS-1$
-	private static final String EXPORT_PUBLIC = "public"; //$NON-NLS-1$
-	private static final String EXPORT_PROTECTED = "protected"; //$NON-NLS-1$
-	private static final String META_AREA = ".metadata"; //$NON-NLS-1$
-	private static final String WORKSPACE = "workspace"; //$NON-NLS-1$
-	private static final String PLUGIN_PATH = ".plugin-path"; //$NON-NLS-1$
-	private static String BOOTDIR;
-	private static final String RUNTIMEDIR = PLUGINSDIR + RUNTIMENAME + "/"; //$NON-NLS-1$
-	private static final String OPTIONS = ".options"; //$NON-NLS-1$
-	// While we recognize the SunOS operating system, we change
-	// this internally to be Solaris.
-	private static final String INTERNAL_OS_SUNOS = "SunOS"; //$NON-NLS-1$
-	// While we recognize the i386 architecture, we change
-	// this internally to be x86.
-	private static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
-
-	private static boolean useClassLoaderProperties = false;
-	private static String classLoaderPropertiesFilename = null;
-
-	/** 
-	 * Execution options for the Runtime plug-in.  They are defined here because
-	 * we need to load them into the PlatformClassLoader which is created by the
-	 * boot system.  Users should see these options as Runtime options since there
-	 * boot does not figure into normal Platform operation.
-	 */
-	private static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-	private static final String OPTION_STARTTIME = PI_RUNTIME + "/starttime"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_DEBUG = PI_RUNTIME + "/loader/debug"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_SHOW_CREATE = PI_RUNTIME + "/loader/debug/create"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_PROPERTIES = PI_RUNTIME + "/loader/debug/properties"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_PACKAGE_PREFIXES = PI_RUNTIME + "/loader/debug/prefixes"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_PACKAGE_PREFIXES_SUCCESS = OPTION_LOADER_PACKAGE_PREFIXES + "/success"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_PACKAGE_PREFIXES_FAILURE = OPTION_LOADER_PACKAGE_PREFIXES + "/failure"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_SHOW_ACTIVATE = PI_RUNTIME + "/loader/debug/activateplugin"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_SHOW_ACTIONS = PI_RUNTIME + "/loader/debug/actions"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_SHOW_SUCCESS = PI_RUNTIME + "/loader/debug/success"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_SHOW_FAILURE = PI_RUNTIME + "/loader/debug/failure"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_FILTER_CLASS = PI_RUNTIME + "/loader/debug/filter/class"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_FILTER_LOADER = PI_RUNTIME + "/loader/debug/filter/loader"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_FILTER_RESOURCE = PI_RUNTIME + "/loader/debug/filter/resource"; //$NON-NLS-1$
-	private static final String OPTION_LOADER_FILTER_NATIVE = PI_RUNTIME + "/loader/debug/filter/native"; //$NON-NLS-1$
-	private static final String OPTION_URL_DEBUG = PI_RUNTIME+ "/url/debug"; //$NON-NLS-1$
-	private static final String OPTION_URL_DEBUG_CONNECT = PI_RUNTIME+ "/url/debug/connect"; //$NON-NLS-1$
-	private static final String OPTION_URL_DEBUG_CACHE_LOOKUP = PI_RUNTIME+ "/url/debug/cachelookup"; //$NON-NLS-1$
-	private static final String OPTION_URL_DEBUG_CACHE_COPY = PI_RUNTIME+ "/url/debug/cachecopy"; //$NON-NLS-1$
-	private static final String OPTION_UPDATE_DEBUG = PI_RUNTIME+ "/update/debug"; //$NON-NLS-1$
-	private static final String OPTION_CONFIGURATION_DEBUG = PI_RUNTIME+ "/config/debug"; //$NON-NLS-1$
-
-	// option names for spy
-	private static final String OPTION_MONITOR_PLUGINS = BootLoader.PI_BOOT+"/monitor/plugins"; //$NON-NLS-1$
-	private static final String OPTION_MONITOR_CLASSES = BootLoader.PI_BOOT+"/monitor/classes"; //$NON-NLS-1$
-	private static final String OPTION_MONITOR_BUNDLES = BootLoader.PI_BOOT+"/monitor/bundles"; //$NON-NLS-1$
-
-	private static final String OPTION_TRACE_CLASSES = BootLoader.PI_BOOT + "/trace/classLoading"; //$NON-NLS-1$
-	private static final String OPTION_TRACE_FILENAME = BootLoader.PI_BOOT+"/trace/filename"; //$NON-NLS-1$
-	private static final String OPTION_TRACE_FILTERS = BootLoader.PI_BOOT+"/trace/filters"; //$NON-NLS-1$
-	private static final String OPTION_TRACE_PLUGINS = BootLoader.PI_BOOT+"/trace/pluginActivation"; //$NON-NLS-1$
-
-	// command line arguments
-	private static final String DEBUG = "-debug"; //$NON-NLS-1$
-	private static final String DATA = "-data"; //$NON-NLS-1$
-	private static final String INSTALL = "-install"; //$NON-NLS-1$
-	private static final String DEV = "-dev"; //$NON-NLS-1$
-	private static final String WS = "-ws"; //$NON-NLS-1$
-	private static final String OS = "-os"; //$NON-NLS-1$
-	private static final String ARCH = "-arch"; //$NON-NLS-1$
-	private static final String NL = "-nl"; //$NON-NLS-1$
-	private static final String CLASSLOADER_PROPERTIES = "-classloaderProperties"; //$NON-NLS-1$
-
-/**
- * Private constructor to block instance creation.
- */
-private InternalBootLoader() {
-}
-private static void assertNotRunning() {
-	if (running)
-		throw new RuntimeException(Policy.bind("platform.mustNotBeRunning")); //$NON-NLS-1$
-}
-private static void assertRunning() {
-	if (!running)
-		throw new RuntimeException(Policy.bind("platform.notRunning")); //$NON-NLS-1$
-}
-/**
- * Configure the class loader for the runtime plug-in.  
- */
-private static PlatformClassLoader configurePlatformLoader() {
-	Object[] loadPath = getPlatformClassLoaderPath();
-	URL base = null;
-	try {
-		base = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING+RUNTIMEDIR);
-	} catch (MalformedURLException e) {
-		//proceed without runtime plugin in platform loader -- is this possible?
-	}
-	return new PlatformClassLoader((URL[]) loadPath[0], (URLContentFilter[]) loadPath[1], InternalBootLoader.class.getClassLoader(), base);
-}
-/**
- * @see BootLoader
- */
-public static boolean containsSavedPlatform(String location) {
-	return new File(location + "/" + META_AREA).exists(); //$NON-NLS-1$
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-private static String[] getArrayFromList(String prop) {
-	if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
-		return new String[0];
-	Vector list = new Vector();
-	StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
-	while (tokens.hasMoreTokens()) {
-		String token = tokens.nextToken().trim();
-		if (!token.equals("")) //$NON-NLS-1$
-			list.addElement(token);
-	}
-	return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
-}
-private static boolean getBooleanOption(String option, boolean defaultValue) {
-	String optionValue = options.getProperty(option);
-	return (optionValue == null) ? defaultValue : optionValue.equalsIgnoreCase("true"); //$NON-NLS-1$
-}
-/**
- * @see BootLoader#getCommandLineArgs
- */
-public static String[] getCommandLineArgs() {
-	return commandLine;
-}
-/**
- * @see BootLoader
- */
-public static PlatformConfiguration getCurrentPlatformConfiguration() {
-	return PlatformConfiguration.getCurrent();
-}
-/**
- * @see BootLoader
- */
-public static URL getInstallURL() {
-	if (installURL != null)
-		return installURL;
-		
-	// See if install location was explicitly specified
-	// Note: in the regular launch sequence, if the argument was not specified
-	//       on the launch, Main.java is actually defaulting this relative to
-	//       itself. The resulting behavior is consistent with the default
-	//       behavior in 1.0 (with all program files being co-located in the
-	//       eclipse/ install directory). However, the new behavior takes into 
-	//       account an update scenario where we may in fact be executing
-	//       InternalBootLoader that was loaded from some other location.
-	if (installLocation != null && !installLocation.trim().equals("")) { //$NON-NLS-1$
-		try {
-			installURL = new URL(installLocation);
-			if (debugRequested) 
-				System.out.println("Install URL:\n    "+installURL.toExternalForm()); //$NON-NLS-1$
-			return installURL;
-		} catch(MalformedURLException e) {
-			//fall through to code below
-		}
-	}
-
-	// Install location was not specified, or we failed to create a URL.
-	// Get the location of this class and compute the install location.
-	// this involves striping off last element (jar or directory) 
-	URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
-	String path = decode(url.getFile());
-	if (path.endsWith("/")) //$NON-NLS-1$
-		path = path.substring(0, path.length() - 1);
-	int ix = path.lastIndexOf('/');
-	//strip off boot jar/bin, boot plugin and plugins dir.  Be sure to leave a trailing /
-	path = path.substring(0, ix);
-	ix = path.lastIndexOf('/');
-	path = path.substring(0, ix);
-	ix = path.lastIndexOf('/');
-	path = path.substring(0, ix + 1);
-
-	try {
-		if (url.getProtocol().equals("jar")) //$NON-NLS-1$
-			installURL = new URL(path);
-		else 
-			installURL = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
-		if (debugRequested) 
-			System.out.println("Install URL: "+installURL.toExternalForm()); //$NON-NLS-1$
-	} catch (MalformedURLException e) {
-		throw new RuntimeException(Policy.bind("error.fatal", e.getMessage())); //$NON-NLS-1$
-	}
-	return installURL;
-}
-/**
- * Initialize the BOOTDIR variable. This code is copied from the getInstallURL() code and
- * should be merged.
- */
-static void initializeBootDir() {
-	URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
-	BOOTDIR = decode(url.getFile());
-	if (BOOTDIR.endsWith("/")) //$NON-NLS-1$
-		BOOTDIR = BOOTDIR.substring(0, BOOTDIR.length() - 1);
-	int index = BOOTDIR.lastIndexOf('/');
-	//strip off boot jar/bin, boot plugin and plugins dir.  Be sure to leave a trailing /
-	BOOTDIR = BOOTDIR.substring(0, index+1);
-}
-/**
- * Returns a string representation of the given URL String.  This converts
- * escaped sequences (%..) in the URL into the appropriate characters.
- * NOTE: due to class visibility there is a copy of this method
- *       in Main (the launcher)
- */
-public static String decode(String urlString) {
-	//try to use Java 1.4 method if available
-	try {
-		Class clazz = URLDecoder.class;
-		Method method = clazz.getDeclaredMethod("decode", new Class[] {String.class, String.class});//$NON-NLS-1$
-		//first encode '+' characters, because URLDecoder incorrectly converts 
-		//them to spaces on certain class library implementations.
-		if (urlString.indexOf('+') >= 0) {
-			int len = urlString.length();
-			StringBuffer buf = new StringBuffer(len);
-			for (int i = 0; i < len; i++) {
-				char c = urlString.charAt(i);
-				if (c == '+')
-					buf.append("%2B");//$NON-NLS-1$
-				else
-					buf.append(c);
-			}
-			urlString = buf.toString();
-		}
-		Object result = method.invoke(null, new Object[] {urlString, "UTF-8"});//$NON-NLS-1$
-		if (result != null)
-			return (String)result;
-	} catch (Exception e) {
-		//JDK 1.4 method not found -- fall through and decode by hand
-	}
-	//decode URL by hand
-	boolean replaced = false;
-	byte[] encodedBytes = urlString.getBytes();
-	int encodedLength = encodedBytes.length;
-	byte[] decodedBytes = new byte[encodedLength];
-	int decodedLength = 0;
-	for (int i = 0; i < encodedLength; i++) {
-		byte b = encodedBytes[i];
-		if (b == '%') {
-			byte enc1 = encodedBytes[++i];
-			byte enc2 = encodedBytes[++i];
-			b = (byte) ((hexToByte(enc1) << 4) + hexToByte(enc2));
-			replaced = true;
-		}
-		decodedBytes[decodedLength++] = b;
-	}
-	if (!replaced)
-		return urlString;
-	try {
-		return new String(decodedBytes, 0, decodedLength, "UTF-8");//$NON-NLS-1$
-	} catch (UnsupportedEncodingException e) {
-		//use default encoding
-		return new String(decodedBytes, 0, decodedLength);
-	}
-}
-private static String[] getListOption(String option) {
-	String filter = options.getProperty(option);
-	if (filter == null)
-		return new String[0];
-	List result = new ArrayList(5);
-	StringTokenizer tokenizer = new StringTokenizer(filter, " ,\t\n\r\f"); //$NON-NLS-1$
-	while (tokenizer.hasMoreTokens())
-		result.add(tokenizer.nextToken());
-	return (String[]) result.toArray(new String[result.size()]);
-}
-/**
- * @see BootLoader
- */
-public static String getOSArch() {
-	return arch;
-}
-/**
- * @see BootLoader
- */
-public static String getNL() {
-	return nl;
-}
-/**
- * @see BootLoader
- */
-public static String getOS() {
-	return os;
-}
-/**
- * @see BootLoader
- */
-public static PlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-	return new PlatformConfiguration(url);
-}
-
-private static Object[] getPlatformClassLoaderPath() {
-
-	PlatformConfiguration config = getCurrentPlatformConfiguration();
-	PlatformConfiguration.BootDescriptor bd = config.getPluginBootDescriptor(RUNTIMENAME);
-	String execBase = bd.getPluginDirectoryURL().toExternalForm();
-	if (execBase == null)
-		execBase = getInstallURL() + RUNTIMEDIR;
-
-	// build a list alternating lib spec and export spec
-	ArrayList libSpecs = new ArrayList(5);
-	String[] exportAll = new String[] { "*" }; //$NON-NLS-1$
-
-	// add in any development mode class paths and the export all filter
-	if (DelegatingURLClassLoader.devClassPath != null) {
-		String[] specs = getArrayFromList(DelegatingURLClassLoader.devClassPath);
-		// convert dev class path into url strings
-		for (int j = 0; j < specs.length; j++) {
-			libSpecs.add(execBase + specs[j] + "/"); //$NON-NLS-1$
-			libSpecs.add(exportAll);
-		}
-	}
-	ArrayList list = new ArrayList(5);
-	String[] libs = bd.getLibraries();
-	for (int i=0; i<libs.length; i++) {
-		list.add(libs[i]);
-		list.add(exportAll);
-	}
-
-	// add in the class path entries spec'd in the config.
-	for (Iterator i = list.iterator(); i.hasNext();) {
-		String library = (String) i.next();
-		String[] filters = (String[]) i.next();
-
-		// convert plugin.xml library entries to url strings
-		String libSpec = execBase + library.replace(File.separatorChar, '/');
-		if (!libSpec.endsWith("/")) { //$NON-NLS-1$
-			if (libSpec.startsWith(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR))
-				libSpec += PlatformURLHandler.JAR_SEPARATOR;
-			else
-				libSpec = PlatformURLHandler.JAR + PlatformURLHandler.PROTOCOL_SEPARATOR + libSpec + PlatformURLHandler.JAR_SEPARATOR;
-		}
-		libSpecs.add(libSpec);
-		libSpecs.add(filters);
-	}
-
-	// create path entries for libraries
-	ArrayList urls = new ArrayList(5);
-	ArrayList cfs = new ArrayList(5);
-	for (Iterator it = libSpecs.iterator(); it.hasNext();) {
-		try {
-			urls.add(new URL((String) it.next()));
-			cfs.add(new URLContentFilter((String[]) it.next()));
-		} catch (MalformedURLException e) {
-			// skip bad URLs
-		}
-	}
-
-	Object[] result = new Object[2];
-	result[0] = urls.toArray(new URL[urls.size()]);
-	result[1] = cfs.toArray(new URLContentFilter[cfs.size()]);
-	return result;
-}
-/**
- * @see BootLoader
- */
-/*
- * This method is retained for R1.0 compatibility because it is defined as API.
- * It's function matches the API description (returns <code>null</code> when
- * argument URL is <code>null</code> or cannot be read).
- */
-public static URL[] getPluginPath(URL pluginPathLocation/*R1.0 compatibility*/) {
-	InputStream input = null;
-	// first try and see if the given plugin path location exists.
-	if (pluginPathLocation == null)
-		return null;
-	try {
-		input = pluginPathLocation.openStream();
-	} catch (IOException e) {
-		//fall through
-	}
-
-	// if the given path was null or did not exist, look for a plugin path
-	// definition in the install location.
-	if (input == null)
-		try {
-			URL url = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING + PLUGIN_PATH);
-			input = url.openStream();
-		} catch (MalformedURLException e) {
-			//fall through
-		} catch (IOException e) {
-			//fall through
-		}
-
-	// nothing was found at the supplied location or in the install location
-	if (input == null)
-		return null;
-	// if we found a plugin path definition somewhere so read it and close the location.
-	URL[] result = null;
-	try {
-		try {
-			result = readPluginPath(input);
-		} finally {
-			input.close();
-		}
-	} catch (IOException e) {
-		//let it return null on failure to read
-	}
-	return result;
-}
-/**
- * @see BootLoader
- */
-public static IPlatformRunnable getRunnable(String applicationName) throws Exception {
-	assertRunning();
-	Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
-	Method method = platform.getDeclaredMethod("loaderGetRunnable", new Class[] {String.class}); //$NON-NLS-1$
-	try {
-		return (IPlatformRunnable) method.invoke(platform, new Object[] {applicationName});
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof Error)
-			throw (Error) e.getTargetException();
-		else
-			throw e;
-	}
-}
-/**
- * @see BootLoader
- */
-public static IPlatformRunnable getRunnable(String pluginId, String className, Object args) throws Exception {
-	assertRunning();
-	Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
-	Method method = platform.getDeclaredMethod("loaderGetRunnable", new Class[] {String.class, String.class, Object.class}); //$NON-NLS-1$
-	try {
-		return (IPlatformRunnable) method.invoke(platform, new Object[] {pluginId, className, args});
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof Error)
-			throw (Error) e.getTargetException();
-		else
-			throw e;
-	}
-}
-/**
- * @see BootLoader
- */
-public static String getWS() {
-	return ws;
-}
-/**
- * Converts an ASCII character representing a hexadecimal
- * value into its integer equivalent.
- */
-private static int hexToByte(byte b) {
-	switch (b) {
-		case '0':return 0;
-		case '1':return 1;
-		case '2':return 2;
-		case '3':return 3;
-		case '4':return 4;
-		case '5':return 5;
-		case '6':return 6;
-		case '7':return 7;
-		case '8':return 8;
-		case '9':return 9;
-		case 'A':
-		case 'a':return 10;
-		case 'B':
-		case 'b':return 11;
-		case 'C':
-		case 'c':return 12;
-		case 'D':
-		case 'd':return 13;
-		case 'E':
-		case 'e':return 14;
-		case 'F':
-		case 'f':return 15;
-		default:
-			throw new IllegalArgumentException("Switch error decoding URL"); //$NON-NLS-1$
-	}
-}
-/**
- * @see BootLoader
- */
-public static boolean inDebugMode() {
-	return debugRequested;
-}
-/**
- * @see BootLoader
- */
-public static boolean inDevelopmentMode() {
-	return inDevelopmentMode;
-}
-private static String[] initialize(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
-	if (running)
-		throw new RuntimeException(Policy.bind("platform.running")); //$NON-NLS-1$
-	baseLocation = location;
-	String[] appArgs = processCommandLine(args);
-	// Do setupSystemContext() ASAP after processCommandLine
-	setupSystemContext();
-
-	// call before referencing DelegatingURLClassLoader
-	initializeBootDir();
-
-	// setup the devClassPath if any
-	DelegatingURLClassLoader.devClassPath = devClassPath;
-
-	// if a platform location was not found in the arguments, compute one.		
-	if (baseLocation == null) {
-		// Default location for the workspace is <user.dir>/workspace/
-		baseLocation = System.getProperty("user.dir"); //$NON-NLS-1$
-		if (!baseLocation.endsWith(File.separator))
-			baseLocation += File.separator;
-		baseLocation += WORKSPACE;
-	}
-	if (debugRequested)
-		System.out.println("Workspace location:\n   " + baseLocation); //$NON-NLS-1$
-
-	// load any debug options
-	loadOptions();
-
-	// initialize eclipse URL handling
-	String metaPath = baseLocation.replace(File.separatorChar, '/');
-	if (!metaPath.endsWith("/")) //$NON-NLS-1$
-		metaPath += "/"; //$NON-NLS-1$
-	metaPath += META_AREA;
-	PlatformURLHandlerFactory.startup(metaPath);
-	PlatformURLBaseConnection.startup(getInstallURL()); // past this point we can use eclipse:/platform/ URLs
-
-	// load platform configuration and consume configuration-related arguments (must call after URL handler initialization)
-	appArgs = PlatformConfiguration.startup(appArgs, pluginPathLocation/*R1.0 compatibility*/, applicationR10/*R1.0 compatibility*/, metaPath);
-
-	// create and configure platform class loader
-	loader = configurePlatformLoader();
-
-	return appArgs;
-}
-/**
- * @see BootLoader
- */
-public static boolean isRunning() {
-	return running;
-}
-public static boolean isStarting() {
-	return starting;
-}
-/**
- * Return a boolean value indicating whether or not the user requested
- * to read the classloader properties file for performance enhancement.
- */
-public static boolean useClassLoaderProperties() {
-	return useClassLoaderProperties;
-}
-/**
- * Return the name of the file to be used for the class loader properties. 
- */
-static String getClassLoaderPropertiesFilename() {
-	return classLoaderPropertiesFilename;
-}
-/**
- * Return the default name for the class loader properties file.
- */
-static String getDefaultClassLoaderPropertiesFilename() {
-	return BOOTDIR + "classloader.properties"; //$NON-NLS-1$
-}
-private static void loadOptions() {
-	// if no debug option was specified, don't even bother to try.
-	// Must ensure that the options slot is null as this is the signal to the
-	// platform that debugging is not enabled.
-	if (!debugRequested) {
-		options = null;
-		return;
-	}
-	options = new Properties();
-	URL optionsFile;
-	if (debugOptionsFilename == null) {
-		// default options location is user.dir (install location may be r/o so
-		// is not a good candidate for a trace options that need to be updatable by
-		// by the user)
-		String userDir = System.getProperty("user.dir").replace(File.separatorChar,'/'); //$NON-NLS-1$
-		if (!userDir.endsWith("/")) //$NON-NLS-1$
-			userDir += "/"; //$NON-NLS-1$
-		debugOptionsFilename = "file:" + userDir + OPTIONS; //$NON-NLS-1$
-	}
-	try {
-		optionsFile = getURL(debugOptionsFilename);
-	} catch (MalformedURLException e) {
-		System.out.println("Unable to construct URL for options file: " + debugOptionsFilename); //$NON-NLS-1$
-		e.printStackTrace(System.out);
-		return;
-	}
-	System.out.println("Debug-Options:\n    " + debugOptionsFilename); //$NON-NLS-1$
-	try {
-		InputStream input = optionsFile.openStream();
-		try {
-			options.load(input);
-		} finally {
-			input.close();
-		}
-	} catch (FileNotFoundException e) {
-		//	Its not an error to not find the options file
-	} catch (IOException e) {
-		System.out.println("Could not parse the options file: " + optionsFile); //$NON-NLS-1$
-		e.printStackTrace(System.out);
-	}
-	// trim off all the blanks since properties files don't do that.
-	for (Iterator i = options.keySet().iterator(); i.hasNext();) {
-		Object key = i.next();
-		options.put(key, ((String) options.get(key)).trim());
-	}
-	InternalBootLoader.setupOptions();
-}
-private static String[] processCommandLine(String[] args) throws Exception {
-	int[] configArgs = new int[100];
-	configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
-	int configArgIndex = 0;
-	for (int i = 0; i < args.length; i++) {
-		boolean found = false;
-		// check for args without parameters (i.e., a flag arg)
-
-		// check if debug should be enabled for the entire platform
-		// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
-		// simply enable debug.  Otherwise, assume that that the following arg is
-		// actually the filename of an options file.  This will be processed below.
-		if (args[i].equalsIgnoreCase(DEBUG) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
-			found = true;
-			debugRequested = true;
-		}
-
-		// check to see if we should be using a the classloader package prefix file.
-		// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
-		// simply enable the option.  Otherwise, assume that that the following arg is
-		// actually the filename of the file.  This will be processed below.
-		if (args[i].equalsIgnoreCase(CLASSLOADER_PROPERTIES) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
-			useClassLoaderProperties = true;
-			found = true;
-		}
-
-		// check if development mode should be enabled for the entire platform
-		// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
-		// simply enable development mode.  Otherwise, assume that that the following arg is
-		// actually some additional development time class path entries.  This will be processed below.
-		if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
-			inDevelopmentMode = true;
-			found = true;
-			continue;
-		}
-
-		if (found) {
-			configArgs[configArgIndex++] = i;
-			continue;
-		}
-		// check for args with parameters. If we are at the last argument or if the next one
-		// has a '-' as the first character, then we can't have an arg with a parm so continue.
-		if (i == args.length - 1 || args[i + 1].startsWith("-")) { //$NON-NLS-1$
-			continue;
-		}
-		String arg = args[++i];
-
-		// look for the debug options file location.  
-		if (args[i - 1].equalsIgnoreCase(DEBUG)) {
-			found = true;
-			debugRequested = true;
-			debugOptionsFilename = arg;
-		}
-
-		// look for the classloader package prefix file location.  
-		if (args[i - 1].equalsIgnoreCase(CLASSLOADER_PROPERTIES)) {
-			found = true;
-			useClassLoaderProperties = true;
-			classLoaderPropertiesFilename = arg;
-		}
-
-		// look for the development mode and class path entries.  
-		if (args[i - 1].equalsIgnoreCase(DEV)) {
-			inDevelopmentMode = true;
-			devClassPath = arg;
-			found = true;
-			continue;
-		}
-
-		// look for the install location. 
-		if (args[i - 1].equalsIgnoreCase(INSTALL)) {
-			found = true;
-			installLocation = arg;
-		}
-
-		// look for the platform location.  Only set it if not already set. This 
-		// preserves the value set in the startup() parameter.  Be sure however
-		// to consume the command-line argument.
-		if (args[i - 1].equalsIgnoreCase(DATA)) {
-			found = true;
-			if (baseLocation == null)
-				baseLocation = arg;
-		}
-
-		// look for the window system.  
-		if (args[i - 1].equalsIgnoreCase(WS)) {
-			found = true;
-			ws = arg;
-		}
-
-		// look for the operating system
-		if (args[i - 1].equalsIgnoreCase(OS)) {
-			found = true;
-			os = arg;
-		}
-
-		// look for the system architecture
-		if (args[i - 1].equalsIgnoreCase(ARCH)) {
-			found = true;
-			arch = arg;
-		}
-
-		// look for the nationality/language
-		if (args[i - 1].equalsIgnoreCase(NL)) {
-			found = true;
-			nl = arg;
-		}
-
-		// done checking for args.  Remember where an arg was found 
-		if (found) {
-			configArgs[configArgIndex++] = i - 1;
-			configArgs[configArgIndex++] = i;
-		}
-	}
-
-	// remove all the arguments consumed by this argument parsing
-	if (configArgIndex == 0)
-		return args;
-	String[] passThruArgs = new String[args.length - configArgIndex];
-	configArgIndex = 0;
-	int j = 0;
-	for (int i = 0; i < args.length; i++) {
-		if (i == configArgs[configArgIndex])
-			configArgIndex++;
-		else
-			passThruArgs[j++] = args[i];
-	}
-	return passThruArgs;
-}
-private static URL[] readPluginPath(InputStream input) {
-	Properties ini = new Properties();
-	try {
-		ini.load(input);
-	} catch (IOException e) {
-		return null;
-	}
-	Vector result = new Vector(5);
-	for (Enumeration groups = ini.propertyNames(); groups.hasMoreElements();) {
-		String group = (String) groups.nextElement();
-		for (StringTokenizer entries = new StringTokenizer(ini.getProperty(group), ";"); entries.hasMoreElements();) { //$NON-NLS-1$
-			String entry = (String) entries.nextElement();
-			if (!entry.equals("")) //$NON-NLS-1$
-				try {
-					result.addElement(new URL(entry));
-				} catch (MalformedURLException e) {
-					//intentionally ignore bad URLs
-					System.err.println(Policy.bind("ignore.plugin", entry)); //$NON-NLS-1$
-				}
-		}
-	}
-	return (URL[]) result.toArray(new URL[result.size()]);
-}
-public static URL resolve(URL url) throws IOException {
-	if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
-		return url;
-	URLConnection connection = url.openConnection();
-	if (connection instanceof PlatformURLConnection)
-		return ((PlatformURLConnection) connection).getResolvedURL();
-	else
-		return url;
-}
-/**
- * @see BootLoader
- * Retained for compatibility with R1.0 launchers
- */
-public static Object run(String applicationName/*R1.0 compatibility*/, URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
-	return run(applicationName, pluginPathLocation, location, args, null);
-}
-/**
- * @see BootLoader
- */
-public static Object run(String applicationName/*R1.0 compatibility*/, URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args, Runnable handler) throws Exception {
-	Object result = null;
-	applicationR10 = applicationName; // for R1.0 compatibility
-	String[] applicationArgs = startup(pluginPathLocation, location, args, handler);
-	
-	String application = getCurrentPlatformConfiguration().getApplicationIdentifier();
-	IPlatformRunnable runnable = getRunnable(application);
-	if (runnable == null)
-		throw new IllegalArgumentException(Policy.bind("application.notFound", application)); //$NON-NLS-1$
-	try {
-		result = runnable.run(applicationArgs);
-	} catch (Throwable e) {
-		e.printStackTrace();
-		throw new InvocationTargetException(e);
-	} finally {
-		shutdown();
-		return result;
-	}
-}
-/**
- * Setup the debug flags for the given debug options.  This method will likely
- * be called twice.  Once when loading the options file from the command
- * line or install dir and then again when we have loaded options from the
- * specific platform metaarea. 
- */
-public static void setupOptions() {
-	// if no debug option was specified, don't even bother to try.
-	// Must ensure that the options slot is null as this is the signal to the
-	// platform that debugging is not enabled.
-	if (!debugRequested)
-		return;
-	options.put(OPTION_STARTTIME, Long.toString(System.currentTimeMillis()));
-	DelegatingURLClassLoader.DEBUG = getBooleanOption(OPTION_LOADER_DEBUG, false);
-	DelegatingURLClassLoader.DEBUG_SHOW_CREATE = getBooleanOption(OPTION_LOADER_SHOW_CREATE, true);
-	DelegatingURLClassLoader.DEBUG_SHOW_ACTIVATE = getBooleanOption(OPTION_LOADER_SHOW_ACTIVATE, true);
-	DelegatingURLClassLoader.DEBUG_SHOW_ACTIONS = getBooleanOption(OPTION_LOADER_SHOW_ACTIONS, true);
-	DelegatingURLClassLoader.DEBUG_SHOW_SUCCESS = getBooleanOption(OPTION_LOADER_SHOW_SUCCESS, true);
-	DelegatingURLClassLoader.DEBUG_SHOW_FAILURE = getBooleanOption(OPTION_LOADER_SHOW_FAILURE, true);
-	DelegatingURLClassLoader.DEBUG_FILTER_CLASS = getListOption(OPTION_LOADER_FILTER_CLASS);
-	DelegatingURLClassLoader.DEBUG_FILTER_LOADER = getListOption(OPTION_LOADER_FILTER_LOADER);
-	DelegatingURLClassLoader.DEBUG_FILTER_RESOURCE = getListOption(OPTION_LOADER_FILTER_RESOURCE);
-	DelegatingURLClassLoader.DEBUG_FILTER_NATIVE = getListOption(OPTION_LOADER_FILTER_NATIVE);
-	PlatformURLConnection.DEBUG = getBooleanOption(OPTION_URL_DEBUG, false);
-	PlatformURLConnection.DEBUG_CONNECT = getBooleanOption(OPTION_URL_DEBUG_CONNECT, true);
-	PlatformURLConnection.DEBUG_CACHE_LOOKUP = getBooleanOption(OPTION_URL_DEBUG_CACHE_LOOKUP, true);
-	PlatformURLConnection.DEBUG_CACHE_COPY = getBooleanOption(OPTION_URL_DEBUG_CACHE_COPY, true);
-	PlatformConfiguration.DEBUG = getBooleanOption(OPTION_CONFIGURATION_DEBUG, false);
-	
-	DelegatingURLClassLoader.MONITOR_PLUGINS = getBooleanOption(OPTION_MONITOR_PLUGINS, DelegatingURLClassLoader.MONITOR_PLUGINS);
-	DelegatingURLClassLoader.MONITOR_CLASSES = getBooleanOption(OPTION_MONITOR_CLASSES, DelegatingURLClassLoader.MONITOR_CLASSES);
-	DelegatingURLClassLoader.MONITOR_BUNDLES = getBooleanOption(OPTION_MONITOR_BUNDLES, DelegatingURLClassLoader.MONITOR_BUNDLES);
-
-	DelegatingURLClassLoader.TRACE_FILENAME = options.getProperty(OPTION_TRACE_FILENAME, DelegatingURLClassLoader.TRACE_FILENAME); 
-	DelegatingURLClassLoader.TRACE_FILTERS = options.getProperty(OPTION_TRACE_FILTERS, DelegatingURLClassLoader.TRACE_FILTERS);
-	DelegatingURLClassLoader.TRACE_CLASSES = getBooleanOption(OPTION_TRACE_CLASSES, DelegatingURLClassLoader.TRACE_CLASSES);		
-	DelegatingURLClassLoader.TRACE_PLUGINS = getBooleanOption(OPTION_TRACE_PLUGINS, DelegatingURLClassLoader.TRACE_PLUGINS);
-
-	DelegatingURLClassLoader.DEBUG_PROPERTIES = getBooleanOption(OPTION_LOADER_PROPERTIES, DelegatingURLClassLoader.DEBUG_PROPERTIES);
-	DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES);
-	DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_SUCCESS = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES_SUCCESS, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_SUCCESS);
-	DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_FAILURE = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES_FAILURE, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_FAILURE);
-}
-/**
- * Initializes the execution context for this run of the platform.  The context
- * includes information about the locale, operating system and window system.
- * 
- * NOTE: The OS, WS, and ARCH values should never be null. The executable should
- * be setting these values and therefore this code path is obsolete for Eclipse
- * when run from the executable.
- */
-private static void setupSystemContext() {
-	// if the user didn't set the locale with a command line argument then
-	// use the default.
-	if (nl != null) {
-		StringTokenizer tokenizer = new StringTokenizer(nl, "_"); //$NON-NLS-1$
-		int segments = tokenizer.countTokens();
-		try {
-			switch (segments) {
-				case 2:
-					Locale userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken());
-					Locale.setDefault(userLocale);
-					break;
-				case 3:
-					userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken(), tokenizer.nextToken());
-					Locale.setDefault(userLocale);
-					break;
-			}
-		} catch (NoSuchElementException e) {
-			// fall through and use the default
-		}
-	}
-	nl = Locale.getDefault().toString();
-
-	// if the user didn't set the operating system with a command line 
-	// argument then use the default.
-	if (os == null) {
-		String name = System.getProperty("os.name");//$NON-NLS-1$
-		// check to see if the VM returned "Windows 98" or some other
-		// flavour which should be converted to win32.
-		if (name.regionMatches(true, 0, BootLoader.OS_WIN32, 0, 3))
-			os = BootLoader.OS_WIN32;
-		// EXCEPTION: All mappings of SunOS convert to Solaris
-		if (os == null)
-			os = name.equalsIgnoreCase(INTERNAL_OS_SUNOS) ? BootLoader.OS_SOLARIS : BootLoader.OS_UNKNOWN;
-	}
-
-	// if the user didn't set the window system with a command line 
-	// argument then use the default.
-	if (ws == null) {
-		// setup default values for known OSes if nothing was specified
-		if (os.equals(BootLoader.OS_WIN32))
-			ws = BootLoader.WS_WIN32;
-		else if (os.equals(BootLoader.OS_LINUX))
-			ws = BootLoader.WS_MOTIF;
-		else if (os.equals(BootLoader.OS_MACOSX))
-			ws = BootLoader.WS_CARBON;
-		else if (os.equals(BootLoader.OS_HPUX))
-			ws = BootLoader.WS_MOTIF;
-		else if (os.equals(BootLoader.OS_AIX))
-			ws = BootLoader.WS_MOTIF;
-		else if (os.equals(BootLoader.OS_SOLARIS))
-			ws = BootLoader.WS_MOTIF;
-		else
-			ws = BootLoader.WS_UNKNOWN;
-	}
-
-	// if the user didn't set the system architecture with a command line 
-	// argument then use the default.
-	if (arch == null) {
-		String name = System.getProperty("os.arch");//$NON-NLS-1$
-		// Map i386 architecture to x86
-		arch = name.equalsIgnoreCase(INTERNAL_ARCH_I386) ? BootLoader.ARCH_X86 : name;
-	}
-}
-/**
- * @see BootLoader
- */
-public static void shutdown() throws Exception {
-	assertRunning();
-	// no matter what happens, record that its no longer running
-	running = false;
-	Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
-	Method method = platform.getDeclaredMethod("loaderShutdown", new Class[0]); //$NON-NLS-1$
-	try {
-		method.invoke(platform, new Object[0]);
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof Error)
-			throw (Error) e.getTargetException();
-		else
-			throw e;
-	} finally {
-		PlatformURLHandlerFactory.shutdown();
-		PlatformConfiguration.shutdown();
-		loader = null;
-	}
-}
-
-/**
- * @see BootLoader
- * Retained for compatibility with R1.0 launchers
- */
-public static String[] startup(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
-	return startup(pluginPathLocation, location, args, null); 
-}
-/**
- * @see BootLoader
- */
-public static String[] startup(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args, Runnable handler) throws Exception {
-	assertNotRunning();
-	starting = true;
-	commandLine = args;
-	String[] applicationArgs = initialize(pluginPathLocation, location, args);
-	Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
-	Method method = platform.getDeclaredMethod("loaderStartup", new Class[] { URL[].class, String.class, Properties.class, String[].class, Runnable.class }); //$NON-NLS-1$
-	try {
-		URL[] pluginPath = getCurrentPlatformConfiguration().getPluginPath();
-		method.invoke(platform, new Object[] { pluginPath, baseLocation, options, args, handler });
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof Error)
-			throw (Error) e.getTargetException();
-		else
-			throw e;
-	}
-	// only record the platform as running if everything went swimmingly
-	running = true;
-	starting = false;
-	return applicationArgs;
-}
-
-public  static String getBootDir()  {
-	if (BOOTDIR == null) 
-		initializeBootDir();
-	return BOOTDIR;
-}
-/**
- * Helper method that creates an URL object from the given string
- * representation. The string must correspond to a valid URL or file system
- * path.
- */
-private static URL getURL(String urlString) throws MalformedURLException {
-	try {
-		return new URL(urlString);
-	} catch (MalformedURLException e) {
-		// if it is not a well formed URL, tries to create a "file:" URL
-		try {
-			return new File(urlString).toURL();
-		} catch (MalformedURLException ex) {
-			// re-throw the original exception if nothing works
-			throw e;
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
deleted file mode 100644
index a867269..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.URL;
- 
-/**
- * This is the singleton platform loader. It searches jars and
- * directories containing the base runtime support.
- */
-public final class PlatformClassLoader extends DelegatingURLClassLoader {
-	private static PlatformClassLoader singleton = null;
-/**
- * Creates the default instance of PlatformClassLoader according to the
- * given classpath, filters and parent.
- */
-public PlatformClassLoader(URL[] searchPath, URLContentFilter[] filters, ClassLoader parent, URL base) {
-	super(searchPath, filters, null, null, parent);
-	this.base = base;
-	if (singleton == null)
-		singleton = this;
-	debugConstruction(); // must have initialized loader
-}
-protected String debugId() {
-	return "PLATFORM"; //$NON-NLS-1$
-}
-
-/**
- * Returns the id to use to lookup class prefixes for this loader
- */
-public String getPrefixId() {
-	return InternalBootLoader.RUNTIMENAME;
-}
-/**
- * Finds and loads the class with the specified name from the URL search
- * path. Any URLs referring to JAR files are loaded and opened as needed
- * until the class is found. Only our own URL search path and that of our parent
- * is used.  This method consults this loader's parent first but only if <code>checkParents</code>
- * is <code>true</code>.  Following that, this loader's own search path is checked. 
- * <code>null</code> is returned if the class cannot be found.
- 
- * @param name the name of the class
- * @param resolve whether to resolve any loaded class
- * @param requestor class loader originating the request
- * @param checkParents whether to check the parent loader
- * @return the resulting class
- */
-protected Class internalFindClassParentsSelf(final String name, boolean resolve, DelegatingURLClassLoader requestor, boolean checkParents) {
-	Class result = null;
-	synchronized (this) {
-		// check the cache.  If we find something, check to see if its visible.
-		// If it is, return it.  If not, return null if we are not checking parents.  There is
-		// no point in looking in self as the class was already in the cache.
-		result = findLoadedClass(name);
-		if (result != null) {
-			result = checkClassVisibility(result, requestor, true);
-			if (result != null || !checkParents)
-				return result;
-		}
-
-		// if it wasn't in the cache or was not visible, check the parents (if requested)
-		if (checkParents) {
-			result = findClassParents(name, resolve);
-			if (result != null)
-				return result;
-		}
-		try {
-			result = super.findClass(name);
-			// If the class is loaded in this classloader register it with
-			// the hot swap support.  Need to do this regardless of visibility
-			// because the class was actually loaded.
-			if (result == null)
-				return null;
-			return checkClassVisibility(result, requestor, false);
-		} catch (ClassNotFoundException e) {
-			return null;
-		}
-	}
-}
-/**
- * Returns the default/singleton instance of PlatformClassLoader.
- * The class loader must have been explicitly created previously
- * otherwise this method returns <code>null</code>.
- */
-public static PlatformClassLoader getDefault() {
-	return singleton;	
-}
-/**
- * Sets the list of imported loaders.  If the supplied list is <code>null</code>
- * then this loader's list of imports is cleared.
- */
-public synchronized void setImports(DelegatingURLClassLoader[] loaders) {
-	if (loaders == null) {
-		imports = null;
-		return;
-	}
-	DelegateLoader[] delegates = new DelegateLoader[loaders.length];
-	for (int i = 0; i < loaders.length; i++)
-		delegates[i] = new DelegateLoader(loaders[i], false);
-	imports = delegates;
-}
-
-protected String getClassloaderId() {
-	return InternalBootLoader.RUNTIMENAME;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
deleted file mode 100644
index 23dd091..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
+++ /dev/null
@@ -1,2892 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-
-public class PlatformConfiguration implements IPlatformConfiguration {
-
-	private static PlatformConfiguration currentPlatformConfiguration = null;
-
-	private URL configLocation;
-	private URL rootLocation;
-	private HashMap sites;
-	private HashMap externalLinkSites; // used to restore prior link site state
-	private HashMap cfgdFeatures;
-	private HashMap bootPlugins;
-	private String defaultFeature;
-	private long lastChangeStamp;
-	private long changeStamp;
-	private boolean changeStampIsValid = false;
-	private long lastFeaturesChangeStamp;
-	private long featuresChangeStamp;
-	private boolean featuresChangeStampIsValid = false;
-	private long lastPluginsChangeStamp;
-	private long pluginsChangeStamp;
-	private boolean pluginsChangeStampIsValid = false;
-	private boolean featureChangesConfigured = false;
-	private boolean transientConfig = false;
-	private File cfgLockFile;
-	private RandomAccessFile cfgLockFileRAF;
-	private BootDescriptor runtimeDescriptor;
-	private BootDescriptor xmlDescriptor;
-
-	private static String cmdConfiguration = null;
-	private static String cmdFeature = null;
-	private static String cmdApplication = null;
-	private static URL cmdPlugins = null;
-	private static boolean cmdInitialize = false;
-	private static boolean cmdFirstUse = false;
-	private static boolean cmdUpdate = false;
-	private static boolean cmdNoUpdate = false;
-	private static boolean cmdDev = false;
-
-	static boolean DEBUG = false;
-
-	private static final String BOOT_XML = "boot.xml"; //$NON-NLS-1$
-	private static final String BOOT_PLUGIN_ID = "org.eclipse.core.boot"; //$NON-NLS-1$
-	private static final String RUNTIME_PLUGIN_ID = "org.eclipse.core.runtime"; //$NON-NLS-1$
-	private static final String XML_PLUGIN_ID = "org.apache.xerces"; //$NON-NLS-1$
-
-	private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	private static final String FEATURES = "features"; //$NON-NLS-1$
-	private static final String CONFIG_DIR = ".config"; //$NON-NLS-1$
-	private static final String CONFIG_FILE = CONFIG_DIR + "/platform.cfg"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_INIT = "install.ini"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_LOCK_SUFFIX = ".lock"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_TEMP_SUFFIX = ".tmp"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_BAK_SUFFIX = ".bak"; //$NON-NLS-1$
-	private static final String CHANGES_MARKER = ".newupdates"; //$NON-NLS-1$
-	private static final String LINKS = "links"; //$NON-NLS-1$
-	private static final String PLUGIN_XML = "plugin.xml"; //$NON-NLS-1$
-	private static final String FRAGMENT_XML = "fragment.xml"; //$NON-NLS-1$
-	private static final String FEATURE_XML = "feature.xml"; //$NON-NLS-1$
-
-	private static final String[] BOOTSTRAP_PLUGINS = { "org.eclipse.core.boot" }; //$NON-NLS-1$
-	private static final String CFG_BOOT_PLUGIN = "bootstrap"; //$NON-NLS-1$
-	private static final String CFG_SITE = "site"; //$NON-NLS-1$
-	private static final String CFG_URL = "url"; //$NON-NLS-1$
-	private static final String CFG_POLICY = "policy"; //$NON-NLS-1$
-	private static final String[] CFG_POLICY_TYPE = { "USER-INCLUDE", "USER-EXCLUDE" }; //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String CFG_POLICY_TYPE_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
-	private static final String CFG_LIST = "list"; //$NON-NLS-1$
-	private static final String CFG_STAMP = "stamp"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_STAMP = "stamp.features"; //$NON-NLS-1$
-	private static final String CFG_PLUGIN_STAMP = "stamp.plugins"; //$NON-NLS-1$
-	private static final String CFG_UPDATEABLE = "updateable"; //$NON-NLS-1$
-	private static final String CFG_LINK_FILE = "linkfile"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY = "feature"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_DEFAULT = "feature.default.id"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_ID = "id"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_PRIMARY = "primary"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_VERSION = "version"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_APPLICATION = "application"; //$NON-NLS-1$
-	private static final String CFG_FEATURE_ENTRY_ROOT = "root"; //$NON-NLS-1$
-
-	private static final String INIT_DEFAULT_FEATURE_ID = "feature.default.id"; //$NON-NLS-1$
-	private static final String INIT_DEFAULT_PLUGIN_ID = "feature.default.plugin.id"; //$NON-NLS-1$
-	private static final String INIT_DEFAULT_FEATURE_APPLICATION = "feature.default.application"; //$NON-NLS-1$
-	private static final String DEFAULT_FEATURE_ID = "org.eclipse.platform"; //$NON-NLS-1$
-	private static final String DEFAULT_FEATURE_APPLICATION = "org.eclipse.ui.workbench"; //$NON-NLS-1$
-
-	private static final String CFG_VERSION = "version"; //$NON-NLS-1$
-	private static final String CFG_TRANSIENT = "transient"; //$NON-NLS-1$
-	private static final String VERSION = "1.0"; //$NON-NLS-1$
-	private static final String EOF = "eof"; //$NON-NLS-1$
-	private static final int CFG_LIST_LENGTH = 10;
-
-	private static final int DEFAULT_POLICY_TYPE = ISitePolicy.USER_EXCLUDE;
-	private static final String[] DEFAULT_POLICY_LIST = new String[0];
-
-	private static final String LINK_PATH = "path"; //$NON-NLS-1$
-	private static final String LINK_READ = "r"; //$NON-NLS-1$
-	private static final String LINK_READ_WRITE = "rw"; //$NON-NLS-1$
-
-	private static final String CMD_CONFIGURATION = "-configuration"; //$NON-NLS-1$
-	private static final String CMD_FEATURE = "-feature"; //$NON-NLS-1$
-	private static final String CMD_APPLICATION = "-application"; //$NON-NLS-1$
-	private static final String CMD_PLUGINS = "-plugins"; //$NON-NLS-1$
-	private static final String CMD_UPDATE = "-update"; //$NON-NLS-1$
-	private static final String CMD_INITIALIZE = "-initialize"; //$NON-NLS-1$
-	private static final String CMD_FIRSTUSE = "-firstuse"; //$NON-NLS-1$
-	private static final String CMD_NO_UPDATE = "-noupdate"; //$NON-NLS-1$
-	private static final String CMD_NEW_UPDATES = "-newUpdates"; //$NON-NLS-1$
-	private static final String CMD_DEV = "-dev"; // triggers -noupdate //$NON-NLS-1$
-
-	private static final String RECONCILER_APP = "org.eclipse.update.core.reconciler"; //$NON-NLS-1$
-
-	private static final char[] HEX = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
-	public class SiteEntry implements IPlatformConfiguration.ISiteEntry {
-
-		private URL url; // this is the external URL for the site
-		private URL resolvedURL; // this is the resolved URL used internally
-		private ISitePolicy policy;
-		private boolean updateable = true;
-		private ArrayList features;
-		private ArrayList plugins;
-		private PlatformConfiguration parent;
-		private long lastChangeStamp;
-		private long changeStamp;
-		private boolean changeStampIsValid = false;
-		private long lastFeaturesChangeStamp;
-		private long featuresChangeStamp;
-		private boolean featuresChangeStampIsValid = false;
-		private long lastPluginsChangeStamp;
-		private long pluginsChangeStamp;
-		private boolean pluginsChangeStampIsValid = false;
-		private String linkFileName = null;
-
-		private SiteEntry() {
-		}
-		private SiteEntry(URL url, ISitePolicy policy, PlatformConfiguration parent) {
-			if (url == null)
-				throw new IllegalArgumentException();
-
-			if (policy == null)
-				throw new IllegalArgumentException();
-
-			if (parent == null)
-				throw new IllegalArgumentException();
-
-			this.url = url;
-			this.policy = policy;
-			this.parent = parent;
-			this.features = null;
-			this.plugins = null;
-			this.resolvedURL = this.url;
-			if (url.getProtocol().equals(PlatformURLHandler.PROTOCOL)) {
-				try {
-					resolvedURL = resolvePlatformURL(url); // 19536
-				} catch (IOException e) {
-					// will use the baseline URL ...
-				}
-			}
-		}
-
-		/*
-		 * @see ISiteEntry#getURL()
-		 */
-		public URL getURL() {
-			return url;
-		}
-
-		/*
-		* @see ISiteEntry#getSitePolicy()
-		*/
-		public ISitePolicy getSitePolicy() {
-			return policy;
-		}
-
-		/*
-		 * @see ISiteEntry#setSitePolicy(ISitePolicy)
-		 */
-		public synchronized void setSitePolicy(ISitePolicy policy) {
-			if (policy == null)
-				throw new IllegalArgumentException();
-			this.policy = policy;
-		}
-
-		/*
-		 * @see ISiteEntry#getFeatures()
-		 */
-		public String[] getFeatures() {
-			return getDetectedFeatures();
-		}
-
-		/*
-		 * @see ISiteEntry#getPlugins()
-		 */
-		public String[] getPlugins() {
-
-			ISitePolicy policy = getSitePolicy();
-
-			if (policy.getType() == ISitePolicy.USER_INCLUDE)
-				return policy.getList();
-
-			if (policy.getType() == ISitePolicy.USER_EXCLUDE) {
-				ArrayList detectedPlugins = new ArrayList(Arrays.asList(getDetectedPlugins()));
-				String[] excludedPlugins = policy.getList();
-				for (int i = 0; i < excludedPlugins.length; i++) {
-					if (detectedPlugins.contains(excludedPlugins[i]))
-						detectedPlugins.remove(excludedPlugins[i]);
-				}
-				return (String[]) detectedPlugins.toArray(new String[0]);
-			}
-
-			// bad policy type
-			return new String[0];
-		}
-
-		/*
-		 * @see ISiteEntry#getChangeStamp()
-		 */
-		public long getChangeStamp() {
-			if (!changeStampIsValid)
-				computeChangeStamp();
-			return changeStamp;
-		}
-
-		/*
-		 * @see ISiteEntry#getFeaturesChangeStamp()
-		 */
-		public long getFeaturesChangeStamp() {
-			if (!featuresChangeStampIsValid)
-				computeFeaturesChangeStamp();
-			return featuresChangeStamp;
-		}
-
-		/*
-		 * @see ISiteEntry#getPluginsChangeStamp()
-		 */
-		public long getPluginsChangeStamp() {
-			if (!pluginsChangeStampIsValid)
-				computePluginsChangeStamp();
-			return pluginsChangeStamp;
-		}
-
-		/*
-		 * @see ISiteEntry#isUpdateable()
-		 */
-		public boolean isUpdateable() {
-			return updateable;
-		}
-
-		/*
-		 * @see ISiteEntry#isNativelyLinked()
-		 */
-		public boolean isNativelyLinked() {
-			return isExternallyLinkedSite();
-		}
-
-		private String[] detectFeatures() {
-
-			// invalidate stamps ... we are doing discovery
-			changeStampIsValid = false;
-			featuresChangeStampIsValid = false;
-			parent.changeStampIsValid = false;
-			parent.featuresChangeStampIsValid = false;
-
-			features = new ArrayList();
-
-			if (!supportsDetection(resolvedURL))
-				return new String[0];
-
-			// locate feature entries on site
-			File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-			File root = new File(siteRoot, FEATURES);
-
-			String[] list = root.list();
-			String path;
-			File plugin;
-			for (int i = 0; list != null && i < list.length; i++) {
-				path = list[i] + File.separator + FEATURE_XML;
-				plugin = new File(root, path);
-				if (!plugin.exists()) {
-					continue;
-				}
-				features.add(FEATURES + "/" + path.replace(File.separatorChar, '/')); //$NON-NLS-1$
-			}
-			if (DEBUG) {
-				debug(resolvedURL.toString() + " located  " + features.size() + " feature(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			return (String[]) features.toArray(new String[0]);
-		}
-
-		private String[] detectPlugins() {
-
-			// invalidate stamps ... we are doing discovery
-			changeStampIsValid = false;
-			pluginsChangeStampIsValid = false;
-			parent.changeStampIsValid = false;
-			parent.pluginsChangeStampIsValid = false;
-
-			plugins = new ArrayList();
-
-			if (!supportsDetection(resolvedURL))
-				return new String[0];
-
-			// locate plugin entries on site
-			File root = new File(resolvedURL.getFile().replace('/', File.separatorChar) + PLUGINS);
-			String[] list = root.list();
-			String path;
-			File plugin;
-			for (int i = 0; list != null && i < list.length; i++) {
-				path = list[i] + File.separator + PLUGIN_XML;
-				plugin = new File(root, path);
-				if (!plugin.exists()) {
-					path = list[i] + File.separator + FRAGMENT_XML;
-					plugin = new File(root, path);
-					if (!plugin.exists())
-						continue;
-				}
-				plugins.add(PLUGINS + "/" + path.replace(File.separatorChar, '/')); //$NON-NLS-1$
-			}
-			if (DEBUG) {
-				debug(resolvedURL.toString() + " located  " + plugins.size() + " plugin(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			return (String[]) plugins.toArray(new String[0]);
-		}
-
-		private synchronized String[] getDetectedFeatures() {
-			if (features == null)
-				return detectFeatures();
-			else
-				return (String[]) features.toArray(new String[0]);
-		}
-
-		private synchronized String[] getDetectedPlugins() {
-			if (plugins == null)
-				return detectPlugins();
-			else
-				return (String[]) plugins.toArray(new String[0]);
-		}
-
-		private URL getResolvedURL() {
-			return resolvedURL;
-		}
-
-		private void computeChangeStamp() {
-			computeFeaturesChangeStamp();
-			computePluginsChangeStamp();
-			changeStamp = resolvedURL.hashCode() ^ featuresChangeStamp ^ pluginsChangeStamp;
-			changeStampIsValid = true;
-		}
-
-		private synchronized void computeFeaturesChangeStamp() {
-			if (featuresChangeStampIsValid)
-				return;
-
-			long start = 0;
-			if (DEBUG)
-				start = (new Date()).getTime();
-			String[] features = getFeatures();
-			featuresChangeStamp = computeStamp(features);
-			featuresChangeStampIsValid = true;
-			if (DEBUG) {
-				long end = (new Date()).getTime();
-				debug(resolvedURL.toString() + " feature stamp: " + featuresChangeStamp + ((featuresChangeStamp == lastFeaturesChangeStamp) ? " [no changes]" : " [was " + lastFeaturesChangeStamp + "]") + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-			}
-		}
-
-		private synchronized void computePluginsChangeStamp() {
-			if (pluginsChangeStampIsValid)
-				return;
-
-			long start = 0;
-			if (DEBUG)
-				start = (new Date()).getTime();
-			String[] plugins = getPlugins();
-			pluginsChangeStamp = computeStamp(plugins);
-			pluginsChangeStampIsValid = true;
-			if (DEBUG) {
-				long end = (new Date()).getTime();
-				debug(resolvedURL.toString() + " plugin stamp: " + pluginsChangeStamp + ((pluginsChangeStamp == lastPluginsChangeStamp) ? " [no changes]" : " [was " + lastPluginsChangeStamp + "]") + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-			}
-		}
-
-		private long computeStamp(String[] targets) {
-
-			long result = 0;
-			if (!supportsDetection(resolvedURL)) {
-				// NOTE:  this path should not be executed until we support running
-				//        from an arbitrary URL (in particular from http server). For
-				//        now just compute stamp across the list of names. Eventually
-				//        when general URLs are supported we need to do better (factor
-				//        in at least the existence of the target). However, given this
-				//        code executes early on the startup sequence we need to be
-				//        extremely mindful of performance issues.
-				for (int i = 0; i < targets.length; i++)
-					result ^= targets[i].hashCode();
-				if (DEBUG)
-					debug("*WARNING* computing stamp using URL hashcodes only"); //$NON-NLS-1$
-			} else {
-				// compute stamp across local targets
-				String rootPath = resolvedURL.getFile().replace('/', File.separatorChar);
-				if (!rootPath.endsWith(File.separator))
-					rootPath += File.separator;
-				File rootFile = new File(rootPath);
-				if (rootFile.exists()) {
-					File f = null;
-					for (int i = 0; i < targets.length; i++) {
-						f = new File(rootFile, targets[i]);
-						if (f.exists())
-							result ^= f.getAbsolutePath().hashCode() ^ f.lastModified() ^ f.length();
-					}
-				}
-			}
-
-			return result;
-		}
-
-		private boolean isExternallyLinkedSite() {
-			return (linkFileName != null && !linkFileName.trim().equals("")); //$NON-NLS-1$
-		}
-
-		private synchronized void refresh() {
-			// reset computed values. Will be updated on next access.
-			lastChangeStamp = changeStamp;
-			lastFeaturesChangeStamp = featuresChangeStamp;
-			lastPluginsChangeStamp = pluginsChangeStamp;
-			changeStampIsValid = false;
-			featuresChangeStampIsValid = false;
-			pluginsChangeStampIsValid = false;
-			features = null;
-			plugins = null;
-		}
-
-	}
-
-	public class SitePolicy implements IPlatformConfiguration.ISitePolicy {
-
-		private int type;
-		private String[] list;
-
-		private SitePolicy() {
-		}
-		private SitePolicy(int type, String[] list) {
-			if (type != ISitePolicy.USER_INCLUDE && type != ISitePolicy.USER_EXCLUDE)
-				throw new IllegalArgumentException();
-			this.type = type;
-
-			if (list == null)
-				this.list = new String[0];
-			else
-				this.list = list;
-		}
-
-		/*
-		 * @see ISitePolicy#getType()
-		 */
-		public int getType() {
-			return type;
-		}
-
-		/*
-		* @see ISitePolicy#getList()
-		*/
-		public String[] getList() {
-			return list;
-		}
-
-		/*
-		 * @see ISitePolicy#setList(String[])
-		 */
-		public synchronized void setList(String[] list) {
-			if (list == null)
-				this.list = new String[0];
-			else
-				this.list = list;
-		}
-
-	}
-
-	private class FeatureEntry implements IPlatformConfiguration.IFeatureEntry {
-		private String id;
-		private String version;
-		private String pluginVersion;
-		private String application;
-		private URL[] root;
-		private boolean primary;
-		private String pluginIdentifier;
-
-		private FeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
-			if (id == null)
-				throw new IllegalArgumentException();
-			this.id = id;
-			this.version = version;
-			this.pluginVersion = pluginVersion;
-			this.pluginIdentifier = pluginIdentifier;
-			this.primary = primary;
-			this.application = application;
-			this.root = (root == null ? new URL[0] : root);
-		}
-
-		private FeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
-			this(id, version, id, pluginVersion, primary, application, root);
-		}
-
-		/*
-		 * @see IFeatureEntry#getFeatureIdentifier()
-		 */
-		public String getFeatureIdentifier() {
-			return id;
-		}
-
-		/*
-		 * @see IFeatureEntry#getFeatureVersion()
-		 */
-		public String getFeatureVersion() {
-			return version;
-		}
-
-		/*
-		 * @see IFeatureEntry#getFeaturePluginVersion()
-		 */
-		public String getFeaturePluginVersion() {
-			return pluginVersion;
-		}
-
-		/*
-		 * @see IFeatureEntry#getFeatureApplication()
-		 */
-		public String getFeatureApplication() {
-			return application;
-		}
-
-		/*
-		 * @see IFeatureEntry#getFeatureRootURLs()
-		 */
-		public URL[] getFeatureRootURLs() {
-			return root;
-		}
-
-		/*
-		 * @see IFeatureEntry#canBePrimary()
-		 */
-		public boolean canBePrimary() {
-			return primary;
-		}
-		/*
-		 * @see IFeatureEntry#getFeaturePluginIdentifier()
-		 */
-		public String getFeaturePluginIdentifier() {
-			return pluginIdentifier;
-		}
-
-	}
-
-	private class VersionedIdentifier {
-		private String identifier = ""; //$NON-NLS-1$
-		private int major = 0;
-		private int minor = 0;
-		private int service = 0;
-		private String qualifier = ""; //$NON-NLS-1$
-
-		private static final String VER_SEPARATOR = "."; //$NON-NLS-1$
-		private static final String ID_SEPARATOR = "_"; //$NON-NLS-1$
-
-		public static final int LESS_THAN = -1;
-		public static final int EQUAL = 0;
-		public static final int EQUIVALENT = 1;
-		public static final int COMPATIBLE = 2;
-		public static final int GREATER_THAN = 3;
-
-		public VersionedIdentifier(String s) {
-			if (s == null || (s = s.trim()).equals("")) //$NON-NLS-1$
-				return;
-
-			int loc = s.lastIndexOf(ID_SEPARATOR);
-			if (loc != -1) {
-				this.identifier = s.substring(0, loc);
-				String version = s.substring(loc + 1);
-				parseVersion(version);
-			} else
-				this.identifier = s;
-		}
-
-		public boolean equalIdentifiers(VersionedIdentifier id) {
-			if (id == null)
-				return identifier == null;
-			else
-				return id.identifier.equals(identifier);
-		}
-
-		public int compareVersion(VersionedIdentifier id) {
-
-			if (id == null) {
-				if (major == 0 && minor == 0 && service == 0)
-					return -1;
-				else
-					return 1;
-			}
-
-			if (major > id.major)
-				return GREATER_THAN;
-			if (major < id.major)
-				return LESS_THAN;
-			if (minor > id.minor)
-				return COMPATIBLE;
-			if (minor < id.minor)
-				return LESS_THAN;
-			if (service > id.service)
-				return EQUIVALENT;
-			if (service < id.service)
-				return LESS_THAN;
-			return compareQualifiers(qualifier, id.qualifier);
-		}
-
-		private int compareQualifiers(String q1, String q2) {
-			int result = q1.compareTo(q2);
-			if (result < 0)
-				return LESS_THAN;
-			else if (result > 0)
-				return EQUIVALENT;
-			else
-				return EQUAL;
-		}
-
-		private void parseVersion(String v) {
-			if (v == null || (v = v.trim()).equals("")) //$NON-NLS-1$
-				return;
-
-			try {
-				StringTokenizer st = new StringTokenizer(v, VER_SEPARATOR);
-				ArrayList elements = new ArrayList(4);
-
-				while (st.hasMoreTokens()) {
-					elements.add(st.nextToken());
-				}
-
-				if (elements.size() >= 1)
-					this.major = (new Integer((String) elements.get(0))).intValue();
-				if (elements.size() >= 2)
-					this.minor = (new Integer((String) elements.get(1))).intValue();
-				if (elements.size() >= 3)
-					this.service = (new Integer((String) elements.get(2))).intValue();
-				if (elements.size() >= 4)
-					this.qualifier = removeWhiteSpace((String) elements.get(3));
-
-			} catch (Exception e) {
-				// use what we got so far ...
-			}
-		}
-
-		private String removeWhiteSpace(String s) {
-			char[] chars = s.trim().toCharArray();
-			boolean whitespace = false;
-			for (int i = 0; i < chars.length; i++) {
-				if (Character.isWhitespace(chars[i])) {
-					chars[i] = '_';
-					whitespace = true;
-				}
-			}
-			return whitespace ? new String(chars) : s;
-		}
-	}
-
-	/*
-	 * Element selector for use with "tiny" parser. Parser callers supply
-	 * concrete selectors
-	 */
-	public interface Selector {
-
-		/*
-		 * Method is called to pre-select a specific xml type. Pre-selected
-		 * elements are then fully parsed and result in calls to full
-		 * select method.
-		 * @return <code>true</code> is the element should be considered,
-		 * <code>false</code> otherwise
-		 */
-		public boolean select(String entry);
-
-		/*
-		 * Method is called with a fully parsed element.
-		 * @return <code>true</code> to select this element and terminate the parse,
-		 * <code>false</code> otherwise
-		 */
-		public boolean select(String element, HashMap attributes);
-	}
-
-	/*
-	 * "Tiny" xml parser. Performs a rudimentary parse of a well-formed xml file.
-	 * Is specifically geared to parsing plugin.xml files of "bootstrap" plug-ins
-	 * during the platform startup sequence before full xml plugin is available.
-	 */
-	public static class Parser {
-
-		private ArrayList elements = new ArrayList();
-
-		/*
-		 * Construct parser for the specified file
-		 */
-		public Parser(File file) {
-			try {
-				load(new FileInputStream(file));
-			} catch (Exception e) {
-				// continue ... actual parsing will report errors
-			}
-		}
-
-		/*
-		 * Construct parser for the specified URL
-		 */
-		public Parser(URL url) {
-			try {
-				load(url.openStream());
-			} catch (Exception e) {
-				// continue ... actual parsing will report errors
-			}
-		}
-
-		/*
-		 * Return selected elements as an (attribute-name, attribute-value) map.
-		 * The name of the selected element is returned as the value of entry with
-		 * name "<element>".
-		 * @return attribute map for selected element, or <code>null</code>
-		 */
-		public HashMap getElement(Selector selector) {
-			if (selector == null)
-				return null;
-
-			String element;
-			for (int i = 0; i < elements.size(); i++) {
-				// make pre-parse selector call
-				element = (String) elements.get(i);
-				if (selector.select(element)) {
-					// parse selected entry
-					HashMap attributes = new HashMap();
-					String elementName;
-					int j;
-					// parse out element name
-					for (j = 0; j < element.length(); j++) {
-						if (Character.isWhitespace(element.charAt(j)))
-							break;
-					}
-					if (j >= element.length()) {
-						elementName = element;
-					} else {
-						elementName = element.substring(0, j);
-						element = element.substring(j);
-						// parse out attributes
-						StringTokenizer t = new StringTokenizer(element, "=\""); //$NON-NLS-1$
-						boolean isKey = true;
-						String key = ""; //$NON-NLS-1$
-						while (t.hasMoreTokens()) {
-							String token = t.nextToken().trim();
-							if (!token.equals("")) { //$NON-NLS-1$
-								// collect (key, value) pairs
-								if (isKey) {
-									key = token;
-									isKey = false;
-								} else {
-									attributes.put(key, token);
-									isKey = true;
-								}
-							}
-						}
-					}
-					// make post-parse selector call
-					if (selector.select(elementName, attributes)) {
-						attributes.put("<element>", elementName); //$NON-NLS-1$
-						return attributes;
-					}
-				}
-			}
-			return null;
-		}
-
-		private void load(InputStream is) {
-			if (is == null)
-				return;
-
-			// read file
-			StringBuffer xml = new StringBuffer(4096);
-			char[] iobuf = new char[4096];
-			InputStreamReader r = null;
-			try {
-				r = new InputStreamReader(is);
-				int len = r.read(iobuf, 0, iobuf.length);
-				while (len != -1) {
-					xml.append(iobuf, 0, len);
-					len = r.read(iobuf, 0, iobuf.length);
-				}
-			} catch (Exception e) {
-				return;
-			} finally {
-				if (r != null)
-					try {
-						r.close();
-					} catch (IOException e) {
-						// ignore
-					}
-			}
-
-			// parse out element tokens
-			String xmlString = xml.toString();
-			StringTokenizer t = new StringTokenizer(xmlString, "<>"); //$NON-NLS-1$
-			while (t.hasMoreTokens()) {
-				String token = t.nextToken().trim();
-				if (!token.equals("")) //$NON-NLS-1$
-					elements.add(token);
-			}
-		}
-	}
-
-	public static class BootDescriptor {
-		private String id;
-		private String version;
-		private String[] libs;
-		private URL dir;
-
-		public BootDescriptor(String id, String version, String[] libs, URL dir) {
-			this.id = id;
-			this.version = version;
-			this.libs = libs;
-			this.dir = dir;
-		}
-
-		public String getId() {
-			return id;
-		}
-
-		public String getVersion() {
-			return version;
-		}
-
-		public String[] getLibraries() {
-			return libs;
-		}
-
-		public URL getPluginDirectoryURL() {
-			return dir;
-		}
-	}
-
-	private PlatformConfiguration(String configArg, String metaPath, URL pluginPath) throws IOException {
-		this.sites = new HashMap();
-		this.externalLinkSites = new HashMap();
-		this.cfgdFeatures = new HashMap();
-		this.bootPlugins = new HashMap();
-
-		// Determine configuration URL to use (based on command line argument)
-		URL configURL = null;
-		if (configArg != null && !configArg.trim().equals("")) { //$NON-NLS-1$
-			configURL = new URL(configArg);
-		}
-
-		// initialize configuration
-		boolean createRootSite = (pluginPath == null);
-		initializeCurrent(configURL, metaPath, createRootSite);
-
-		// merge in any plugin-path entries (converted to site(s))
-		if (pluginPath != null) {
-			updateConfigurationFromPlugins(pluginPath);
-		}
-
-		// pick up any first-time default settings (relative to install location)
-		loadInitializationAttributes();
-
-		// Detect external links. These are "soft link" to additional sites. The link
-		// files are usually provided by external installation programs. They are located
-		// relative to this configuration URL.
-		configureExternalLinks();
-
-		// Validate sites in the configuration. Causes any sites that do not exist to
-		// be removed from the configuration
-		validateSites();
-
-		// compute differences between configuration and actual content of the sites
-		// (base sites and link sites)
-		computeChangeStamp();
-
-		// determine which plugins we will use to start the rest of the "kernel"
-		// (need to get core.runtime matching the executing core.boot and
-		// xerces matching the selected core.runtime)
-		locateDefaultPlugins();
-	}
-
-	PlatformConfiguration(URL url) throws IOException {
-		this.sites = new HashMap();
-		this.externalLinkSites = new HashMap();
-		this.cfgdFeatures = new HashMap();
-		this.bootPlugins = new HashMap();
-		initialize(url);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSiteEntry(URL, ISitePolicy)
-	 */
-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy) {
-		return new PlatformConfiguration.SiteEntry(url, policy, this);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSitePolicy(int, String[])
-	 */
-	public ISitePolicy createSitePolicy(int type, String[] list) {
-		return new PlatformConfiguration.SitePolicy(type, list);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createFeatureEntry(String, String, String, boolean, String, URL)
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
-		return new PlatformConfiguration.FeatureEntry(id, version, pluginVersion, primary, application, root);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createFeatureEntry(String, String, String,
-	 * String, boolean, String, URL)
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
-		return new PlatformConfiguration.FeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, root);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureSite(ISiteEntry)
-	 */
-	public void configureSite(ISiteEntry entry) {
-		configureSite(entry, false);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureSite(ISiteEntry, boolean)
-	 */
-	public synchronized void configureSite(ISiteEntry entry, boolean replace) {
-
-		if (entry == null)
-			return;
-
-		URL url = entry.getURL();
-		if (url == null)
-			return;
-		String key = url.toExternalForm();
-
-		if (sites.containsKey(key) && !replace)
-			return;
-
-		sites.put(key, entry);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#unconfigureSite(ISiteEntry)
-	 */
-	public synchronized void unconfigureSite(ISiteEntry entry) {
-		if (entry == null)
-			return;
-
-		URL url = entry.getURL();
-		if (url == null)
-			return;
-		String key = url.toExternalForm();
-
-		sites.remove(key);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredSites()
-	 */
-	public ISiteEntry[] getConfiguredSites() {
-		if (sites.size() == 0)
-			return new ISiteEntry[0];
-
-		return (ISiteEntry[]) sites.values().toArray(new ISiteEntry[0]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredSite(URL)
-	 */
-	public ISiteEntry findConfiguredSite(URL url) {
-		if (url == null)
-			return null;
-		String key = url.toExternalForm();
-
-		ISiteEntry result = (ISiteEntry) sites.get(key);
-		if (result == null) // retry with decoded URL string
-			result = (ISiteEntry) sites.get(URLDecoder.decode(key));
-		return result;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void configureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		cfgdFeatures.put(key, entry);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#unconfigureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void unconfigureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		cfgdFeatures.remove(key);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredFeatureEntries()
-	 */
-	public IFeatureEntry[] getConfiguredFeatureEntries() {
-		if (cfgdFeatures.size() == 0)
-			return new IFeatureEntry[0];
-
-		return (IFeatureEntry[]) cfgdFeatures.values().toArray(new IFeatureEntry[0]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredFeatureEntry(String)
-	 */
-	public IFeatureEntry findConfiguredFeatureEntry(String id) {
-		if (id == null)
-			return null;
-
-		return (IFeatureEntry) cfgdFeatures.get(id);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfigurationLocation()
-	 */
-	public URL getConfigurationLocation() {
-		return configLocation;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getChangeStamp()
-	 */
-	public long getChangeStamp() {
-		if (!changeStampIsValid)
-			computeChangeStamp();
-		return changeStamp;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getFeaturesChangeStamp()
-	 */
-	public long getFeaturesChangeStamp() {
-		if (!featuresChangeStampIsValid)
-			computeFeaturesChangeStamp();
-		return featuresChangeStamp;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginsChangeStamp()
-	 */
-	public long getPluginsChangeStamp() {
-		if (!pluginsChangeStampIsValid)
-			computePluginsChangeStamp();
-		return pluginsChangeStamp;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getApplicationIdentifier()
-	 */
-	public String getApplicationIdentifier() {
-
-		if (cmdInitialize) {
-			// we are running post-install initialization. Force
-			// running of the reconciler
-			return RECONCILER_APP;
-		}
-
-		if (featuresChangeStamp != lastFeaturesChangeStamp) {
-			// we have detected feature changes ... see if we need to reconcile
-			boolean update = !cmdNoUpdate || cmdUpdate;
-			if (update)
-				return RECONCILER_APP;
-		}
-
-		// "normal" startup ... run specified application
-		return getApplicationIdentifierInternal();
-	}
-
-	private String getApplicationIdentifierInternal() {
-
-		if (cmdApplication != null) // application was specified
-			return cmdApplication;
-		else {
-			// if -feature was not specified use the default feature
-			String feature = cmdFeature;
-			if (feature == null)
-				feature = defaultFeature;
-
-			// lookup application for feature (specified or defaulted)
-			if (feature != null) {
-				IFeatureEntry fe = findConfiguredFeatureEntry(feature);
-				if (fe != null) {
-					if (fe.getFeatureApplication() != null)
-						return fe.getFeatureApplication();
-				}
-			}
-		}
-
-		// return hardcoded default if we failed
-		return DEFAULT_FEATURE_APPLICATION;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPrimaryFeatureIdentifier()
-	 */
-	public String getPrimaryFeatureIdentifier() {
-
-		if (cmdFeature != null) // -feature was specified on command line
-			return cmdFeature;
-
-		// feature was not specified on command line
-		if (defaultFeature != null)
-			return defaultFeature; // return customized default if set
-		else
-			return DEFAULT_FEATURE_ID; // return hardcoded default
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginPath()
-	 */
-	public URL[] getPluginPath() {
-		ArrayList path = new ArrayList();
-		if (DEBUG)
-			debug("computed plug-in path:"); //$NON-NLS-1$
-
-		ISiteEntry[] sites = getConfiguredSites();
-		URL pathURL;
-		for (int i = 0; i < sites.length; i++) {
-			String[] plugins = sites[i].getPlugins();
-			for (int j = 0; j < plugins.length; j++) {
-				try {
-					pathURL = new URL(((SiteEntry) sites[i]).getResolvedURL(), plugins[j]);
-					path.add(pathURL);
-					if (DEBUG)
-						debug("   " + pathURL.toString()); //$NON-NLS-1$
-				} catch (MalformedURLException e) {
-					// skip entry ...
-					if (DEBUG)
-						debug("   bad URL: " + e); //$NON-NLS-1$
-				}
-			}
-		}
-		return (URL[]) path.toArray(new URL[0]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
-	 */
-	public String[] getBootstrapPluginIdentifiers() {
-		return BOOTSTRAP_PLUGINS;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#setBootstrapPluginLocation(String, URL)
-	 */
-	public void setBootstrapPluginLocation(String id, URL location) {
-		String[] ids = getBootstrapPluginIdentifiers();
-		for (int i = 0; i < ids.length; i++) {
-			if (ids[i].equals(id)) {
-				bootPlugins.put(id, location.toExternalForm());
-				break;
-			}
-		}
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isUpdateable()
-	 */
-	public boolean isUpdateable() {
-		return true;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient()
-	 */
-	public boolean isTransient() {
-		return transientConfig;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient(boolean)
-	 */
-	public void isTransient(boolean value) {
-		if (this != BootLoader.getCurrentPlatformConfiguration())
-			transientConfig = value;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#refresh()
-	 */
-	public synchronized void refresh() {
-		// Reset computed values. Will be lazily refreshed
-		// on next access
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			// reset site entry
-			 ((SiteEntry) sites[i]).refresh();
-		}
-		// reset configuration entry.
-		lastChangeStamp = changeStamp;
-		lastFeaturesChangeStamp = featuresChangeStamp;
-		lastPluginsChangeStamp = pluginsChangeStamp;
-		changeStampIsValid = false;
-		featuresChangeStampIsValid = false;
-		pluginsChangeStampIsValid = false;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#save()
-	 */
-	public void save() throws IOException {
-		if (isUpdateable())
-			save(configLocation);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#save(URL)
-	 */
-	public synchronized void save(URL url) throws IOException {
-		if (url == null)
-			throw new IOException(Policy.bind("cfig.unableToSave.noURL")); //$NON-NLS-1$
-
-		PrintWriter w = null;
-		OutputStream os = null;
-		if (!url.getProtocol().equals("file")) { //$NON-NLS-1$
-			// not a file protocol - attempt to save to the URL
-			URLConnection uc = url.openConnection();
-			uc.setDoOutput(true);
-			os = uc.getOutputStream();
-			w = new PrintWriter(os);
-			try {
-				write(w);
-			} finally {
-				w.close();
-			}
-		} else {
-			// file protocol - do safe i/o
-			File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
-			File cfigDir = cfigFile.getParentFile();
-			if (cfigDir != null)
-				cfigDir.mkdirs();
-
-			// first save the file as temp
-			File cfigTmp = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_TEMP_SUFFIX);
-			os = new FileOutputStream(cfigTmp);
-			w = new PrintWriter(os);
-			try {
-				write(w);
-			} finally {
-				w.close();
-			}
-
-			// make sure we actually succeeded saving the whole configuration.
-			InputStream is = new FileInputStream(cfigTmp);
-			Properties tmpProps = new Properties();
-			try {
-				tmpProps.load(is);
-				if (!EOF.equals(tmpProps.getProperty(EOF))) {
-					throw new IOException(Policy.bind("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
-				}
-			} finally {
-				is.close();
-			}
-
-			// make the saved config the "active" one
-			File cfigBak = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_BAK_SUFFIX);
-			cfigBak.delete(); // may have old .bak due to prior failure
-
-			if (cfigFile.exists())
-				cfigFile.renameTo(cfigBak);
-
-			// at this point we have old config (if existed) as "bak" and the
-			// new config as "tmp".
-			boolean ok = cfigTmp.renameTo(cfigFile);
-			if (ok) {
-				// at this point we have the new config "activated", and the old
-				// config (if it existed) as "bak"
-				cfigBak.delete(); // clean up
-			} else {
-				// this codepath represents a tiny failure window. The load processing
-				// on startup will detect missing config and will attempt to start
-				// with "tmp" (latest), then "bak" (the previous). We can also end up
-				// here if we failed to rename the current config to "bak". In that
-				// case we will restart with the previous state.
-				throw new IOException(Policy.bind("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public BootDescriptor getPluginBootDescriptor(String id) {
-		// return the plugin descriptor for the specified plugin. This method
-		// is used during boot processing to obtain information about "kernel" plugins
-		// whose class loaders must be created prior to the plugin registry being
-		// available (ie. loaders needed to create the plugin registry).
-
-		if (RUNTIME_PLUGIN_ID.equals(id))
-			return runtimeDescriptor;
-		else if (XML_PLUGIN_ID.equals(id))
-			return xmlDescriptor;
-		else
-			return null;
-	}
-
-	static PlatformConfiguration getCurrent() {
-		return currentPlatformConfiguration;
-	}
-
-	/**
-	 * Create and initialize the current platform configuration
-	 * @param cmdArgs command line arguments (startup and boot arguments are
-	 * already consumed)
-	 * @param r10plugins plugin-path URL as passed on the BootLoader.run(...)
-	 * or BootLoader.startup(...) method. Supported for R1.0 compatibility
-	 * @param r10apps application identifies as passed on the BootLoader.run(...)
-	 * method. Supported for R1.0 compatibility.
-	 * @param metaPath path to the platform metadata area
-	 */
-	static synchronized String[] startup(String[] cmdArgs, URL r10plugins, String r10app, String metaPath) throws Exception {
-
-		// if BootLoader was invoked directly (rather than via Main), it is possible
-		// to have the plugin-path and application set in 2 ways: (1) via an explicit
-		// argument on the invocation method, or (2) via a command line argument (passed
-		// into this method as the argument String[]). If specified, the explicit
-		// values are used even if the command line arguments were specified as well.
-		cmdPlugins = r10plugins; // R1.0 compatibility
-		cmdApplication = r10app; // R1.0 compatibility
-
-		// process command line arguments
-		String[] passthruArgs = processCommandLine(cmdArgs);
-		if (cmdDev)
-			cmdNoUpdate = true; // force -noupdate when in dev mode (eg. PDE)
-
-		// create current configuration
-		if (currentPlatformConfiguration == null)
-			currentPlatformConfiguration = new PlatformConfiguration(cmdConfiguration, metaPath, cmdPlugins);
-
-		// check if we will be forcing reconciliation
-		passthruArgs = checkForFeatureChanges(passthruArgs, currentPlatformConfiguration);
-
-		// check if we should indicate new changes
-		passthruArgs = checkForNewUpdates(currentPlatformConfiguration, passthruArgs);
-
-		return passthruArgs;
-	}
-
-	static synchronized void shutdown() throws IOException {
-
-		// save platform configuration
-		PlatformConfiguration config = getCurrent();
-		if (config != null) {
-			try {
-				config.save();
-			} catch (IOException e) {
-				if (DEBUG)
-					debug("Unable to save configuration " + e.toString()); //$NON-NLS-1$
-				// will recover on next startup
-			}
-			config.clearConfigurationLock();
-		}
-	}
-
-	private synchronized void initializeCurrent(URL url, String metaPath, boolean createRootSite) throws IOException {
-
-		boolean concurrentUse = false;
-
-		if (cmdInitialize) {
-			// we are running post-install initialization (-install command
-			// line argument). Ignore any configuration URL passed in.
-			// Force the configuration to be saved in the install location.
-			// Allow an existing configuration to be re-initialized.
-			url = new URL(BootLoader.getInstallURL(), CONFIG_FILE); // if we fail here, return exception
-			concurrentUse = getConfigurationLock(url);
-			resetInitializationConfiguration(url); // [20111]
-			if (createRootSite)
-				configureSite(getRootSite());
-			if (DEBUG)
-				debug("Initializing configuration " + url.toString()); //$NON-NLS-1$
-			configLocation = url;
-			verifyPath(configLocation);
-			return;
-		}
-
-		if (url != null) {
-			// configuration URL was specified. Use it (if exists), or create one
-			// in specified location
-
-			// check concurrent use lock
-			concurrentUse = getConfigurationLock(url);
-
-			// try loading the configuration
-			try {
-				load(url);
-				if (DEBUG)
-					debug("Using configuration " + url.toString()); //$NON-NLS-1$
-			} catch (IOException e) {
-				cmdFirstUse = true;
-				if (createRootSite)
-					configureSite(getRootSite());
-				if (DEBUG)
-					debug("Creating configuration " + url.toString()); //$NON-NLS-1$
-			}
-			configLocation = url;
-			verifyPath(configLocation);
-			return;
-
-		} else {
-			// configuration URL was not specified. Default behavior is to look
-			// for configuration in the workspace meta area. If not found, look
-			// for pre-initialized configuration in the installation location.
-			// If it is found it is used as the initial configuration. Otherwise
-			// a new configuration is created. In either case the resulting
-			// configuration is written into the platform .metadata area
-
-			// first determine configuration location in .metadata
-			metaPath = metaPath.replace(File.separatorChar, '/');
-			if (!metaPath.endsWith("/")) //$NON-NLS-1$
-				metaPath += "/"; //$NON-NLS-1$
-			URL cfigURL = new URL("file", null, 0, metaPath + CONFIG_FILE); // if we fail here, return exception //$NON-NLS-1$
-
-			// check concurrent use lock
-			concurrentUse = getConfigurationLock(cfigURL);
-
-			// if we can load it, use it
-			try {
-				load(cfigURL);
-				configLocation = cfigURL;
-				verifyPath(configLocation);
-				if (DEBUG)
-					debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
-				return;
-			} catch (IOException e) {
-				cmdFirstUse = true; // we are creating new configuration
-			}
-
-			// failed to load, see if we can find pre-initialized configuration.
-			// Don't attempt this initialization when self-hosting (is unpredictable)
-			if (createRootSite) {
-				try {
-					url = new URL(BootLoader.getInstallURL(), CONFIG_FILE);
-					load(url);
-					// pre-initialized config loaded OK ... copy any remaining update metadata
-					copyInitializedState(BootLoader.getInstallURL(), metaPath, CONFIG_DIR);
-					configLocation = cfigURL; // config in .metadata is the right URL
-					verifyPath(configLocation);
-					if (DEBUG) {
-						debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
-						debug("Initialized from    " + url.toString()); //$NON-NLS-1$
-					}
-					return;
-				} catch (IOException e) {
-					// continue ...
-				}
-			}
-
-			// if load failed, initialize with default site info
-			if (createRootSite)
-				configureSite(getRootSite());
-			configLocation = cfigURL;
-			verifyPath(configLocation);
-			if (DEBUG)
-				debug("Creating configuration " + configLocation.toString()); //$NON-NLS-1$
-			return;
-		}
-	}
-
-	private synchronized void initialize(URL url) throws IOException {
-		if (url == null) {
-			if (DEBUG)
-				debug("Creating empty configuration object"); //$NON-NLS-1$
-			return;
-		}
-
-		load(url);
-		configLocation = url;
-		if (DEBUG)
-			debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
-	}
-
-	private ISiteEntry getRootSite() {
-		// create default site entry for the root
-		ISitePolicy defaultPolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-		URL siteURL = null;
-		try {
-			siteURL = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING); // try using platform-relative URL
-		} catch (MalformedURLException e) {
-			siteURL = BootLoader.getInstallURL(); // ensure we come up ... use absolute file URL
-		}
-		ISiteEntry defaultSite = createSiteEntry(siteURL, defaultPolicy);
-		return defaultSite;
-	}
-
-	private void resetInitializationConfiguration(URL url) throws IOException {
-		// [20111]
-		if (!supportsDetection(url))
-			return; // can't do ...
-
-		URL resolved = resolvePlatformURL(url);
-		File initCfg = new File(resolved.getFile().replace('/', File.separatorChar));
-		File initDir = initCfg.getParentFile();
-		resetInitializationLocation(initDir);
-	}
-
-	private void resetInitializationLocation(File dir) {
-		// [20111]
-		if (dir == null || !dir.exists() || !dir.isDirectory())
-			return;
-		File[] list = dir.listFiles();
-		for (int i = 0; i < list.length; i++) {
-			if (list[i].isDirectory())
-				resetInitializationLocation(list[i]);
-			list[i].delete();
-		}
-	}
-
-	private boolean getConfigurationLock(URL url) {
-		if (configurationInWorkspace(url))
-			return false;
-
-		if (!url.getProtocol().equals("file")) //$NON-NLS-1$
-			return false;
-
-		verifyPath(url);
-		String cfgName = url.getFile().replace('/', File.separatorChar);
-		String lockName = cfgName + CONFIG_FILE_LOCK_SUFFIX;
-		cfgLockFile = new File(lockName);
-
-		//if the lock file already exists, try to delete,
-		//assume failure means another eclipse has it open
-		if (cfgLockFile.exists())
-			cfgLockFile.delete();
-		if (cfgLockFile.exists()) {
-			throw new RuntimeException(Policy.bind("cfig.inUse", cfgName, lockName)); //$NON-NLS-1$
-		}
-
-		// OK so far ... open the lock file so other instances will fail
-		try {
-			cfgLockFileRAF = new RandomAccessFile(cfgLockFile, "rw"); //$NON-NLS-1$
-			cfgLockFileRAF.writeByte(0);
-		} catch (IOException e) {
-			throw new RuntimeException(Policy.bind("cfig.failCreateLock", cfgName)); //$NON-NLS-1$
-		}
-
-		return false;
-	}
-
-	private void clearConfigurationLock() {
-		try {
-			if (cfgLockFileRAF != null) {
-				cfgLockFileRAF.close();
-				cfgLockFileRAF = null;
-			}
-		} catch (IOException e) {
-			// ignore ...
-		}
-		if (cfgLockFile != null) {
-			cfgLockFile.delete();
-			cfgLockFile = null;
-		}
-	}
-
-	private boolean configurationInWorkspace(URL url) {
-		// the configuration file is now in the workspace, so return true
-		return true;
-	}
-
-	private void computeChangeStamp() {
-		computeFeaturesChangeStamp();
-		computePluginsChangeStamp();
-		changeStamp = featuresChangeStamp ^ pluginsChangeStamp;
-		changeStampIsValid = true;
-	}
-
-	private void computeFeaturesChangeStamp() {
-		if (featuresChangeStampIsValid)
-			return;
-
-		long result = 0;
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			result ^= sites[i].getFeaturesChangeStamp();
-		}
-		featuresChangeStamp = result;
-		featuresChangeStampIsValid = true;
-	}
-
-	private void computePluginsChangeStamp() {
-		if (pluginsChangeStampIsValid)
-			return;
-
-		long result = 0;
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			result ^= sites[i].getPluginsChangeStamp();
-		}
-		pluginsChangeStamp = result;
-		pluginsChangeStampIsValid = true;
-	}
-
-	private void configureExternalLinks() {
-		URL linkURL = BootLoader.getInstallURL();
-		if (!supportsDetection(linkURL))
-			return;
-
-		try {
-			linkURL = new URL(linkURL, LINKS + "/"); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			// skip bad links ...
-			if (DEBUG)
-				debug("Unable to obtain link URL"); //$NON-NLS-1$
-			return;
-		}
-
-		File linkDir = new File(linkURL.getFile());
-		File[] links = linkDir.listFiles();
-		if (links == null || links.length == 0) {
-			if (DEBUG)
-				debug("No links detected in " + linkURL.toExternalForm()); //$NON-NLS-1$
-			return;
-		}
-
-		for (int i = 0; i < links.length; i++) {
-			if (links[i].isDirectory())
-				continue;
-			if (DEBUG)
-				debug("Link file " + links[i].getAbsolutePath()); //$NON-NLS-1$
-			Properties props = new Properties();
-			FileInputStream is = null;
-			try {
-				is = new FileInputStream(links[i]);
-				props.load(is);
-				configureExternalLinkSites(links[i], props);
-			} catch (IOException e) {
-				// skip bad links ...
-				if (DEBUG)
-					debug("   unable to load link file " + e); //$NON-NLS-1$
-				continue;
-			} finally {
-				if (is != null) {
-					try {
-						is.close();
-					} catch (IOException e) {
-						// ignore ...
-					}
-				}
-			}
-		}
-	}
-
-	private void configureExternalLinkSites(File linkFile, Properties props) {
-		String path = props.getProperty(LINK_PATH);
-		if (path == null) {
-			if (DEBUG)
-				debug("   no path definition"); //$NON-NLS-1$
-			return;
-		}
-
-		String link;
-		boolean updateable = true;
-		URL siteURL;
-		SiteEntry linkSite;
-		ISitePolicy linkSitePolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-
-		// parse out link information
-		if (path.startsWith(LINK_READ + " ")) { //$NON-NLS-1$
-			updateable = false;
-			link = path.substring(2).trim();
-		} else if (path.startsWith(LINK_READ_WRITE + " ")) { //$NON-NLS-1$
-			link = path.substring(3).trim();
-		} else {
-			link = path;
-		}
-
-		// 	make sure we have a valid link specification
-		try {
-			if (!link.endsWith(File.separator))
-				link += File.separator;
-			File target = new File(link + ECLIPSE);
-			link = "file:" + target.getAbsolutePath().replace(File.separatorChar, '/'); //$NON-NLS-1$
-			if (!link.endsWith("/")) //$NON-NLS-1$
-				link += "/"; // sites must be directories //$NON-NLS-1$
-			siteURL = new URL(link);
-		} catch (MalformedURLException e) {
-			// ignore bad links ...
-			if (DEBUG)
-				debug("  bad URL " + e); //$NON-NLS-1$
-			return;
-		}
-
-		// process the link
-		linkSite = (SiteEntry) externalLinkSites.get(siteURL);
-		if (linkSite != null) {
-			// we already have a site for this link target, update it if needed
-			linkSite.updateable = updateable;
-			linkSite.linkFileName = linkFile.getAbsolutePath();
-		} else {
-			// this is a link to a new target so create site for it
-			linkSite = (SiteEntry) createSiteEntry(siteURL, linkSitePolicy);
-			linkSite.updateable = updateable;
-			linkSite.linkFileName = linkFile.getAbsolutePath();
-		}
-
-		// configure the new site
-		// NOTE: duplicates are not replaced (first one in wins)
-		configureSite(linkSite);
-		if (DEBUG)
-			debug("   " + (updateable ? "R/W -> " : "R/O -> ") + siteURL.toString()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/*
-	 * compute site(s) from plugin-path and merge into specified configuration
-	 */
-	private void updateConfigurationFromPlugins(URL file) throws IOException {
-
-		// get the actual plugin path
-		URL[] pluginPath = BootLoader.getPluginPath(file);
-		if (pluginPath == null || pluginPath.length == 0)
-			return;
-
-		// create a temp configuration and populate it based on plugin path
-		PlatformConfiguration tempConfig = new PlatformConfiguration((URL) null);
-		for (int i = 0; i < pluginPath.length; i++) {
-			String entry = pluginPath[i].toExternalForm();
-			String sitePortion;
-			String pluginPortion;
-			int ix;
-			if (entry.endsWith("/")) { //$NON-NLS-1$
-				// assume directory path in the form <site>/plugins/
-				// look for -------------------------------^
-				ix = findEntrySeparator(entry, 2); // second from end
-				sitePortion = entry.substring(0, ix + 1);
-				pluginPortion = entry.substring(ix + 1);
-				if (!pluginPortion.equals("plugins/")) //$NON-NLS-1$
-					continue; // unsupported entry ... skip it ("fragments/" are handled)
-				pluginPortion = null;
-			} else {
-				// assume full path in the form <site>/<pluginsDir>/<some.plugin>/plugin.xml
-				// look for --------------------------^
-				ix = findEntrySeparator(entry, 3); // third from end
-				sitePortion = entry.substring(0, ix + 1);
-				pluginPortion = entry.substring(ix + 1);
-			}
-			if (ix == -1)
-				continue; // bad entry ... skip it
-
-			URL siteURL = null;
-			try {
-				siteURL = new URL(sitePortion);
-				if (siteURL.getProtocol().equals("file")) { //$NON-NLS-1$
-					File sf = new File(siteURL.getFile());
-					String sfn = sf.getAbsolutePath().replace(File.separatorChar, '/');
-					if (!sfn.endsWith("/")) //$NON-NLS-1$
-						sfn += "/"; //$NON-NLS-1$
-					siteURL = new URL("file:" + sfn); //$NON-NLS-1$
-				}
-			} catch (MalformedURLException e) {
-				continue; // bad entry ... skip it
-			}
-
-			// configure existing site or create a new one for the entry
-			ISiteEntry site = tempConfig.findConfiguredSite(siteURL);
-			ISitePolicy policy;
-			if (site == null) {
-				// new site
-				if (pluginPortion == null)
-					policy = tempConfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, null);
-				else
-					policy = tempConfig.createSitePolicy(ISitePolicy.USER_INCLUDE, new String[] { pluginPortion });
-				site = tempConfig.createSiteEntry(siteURL, policy);
-				tempConfig.configureSite(site);
-			} else {
-				// existing site
-				policy = site.getSitePolicy();
-				if (policy.getType() == ISitePolicy.USER_EXCLUDE)
-					continue; // redundant entry ... skip it
-				if (pluginPortion == null) {
-					// directory entry ... change policy to exclusion (with empty list)
-					policy = tempConfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, null);
-				} else {
-					// explicit entry ... add it to the inclusion list
-					ArrayList list = new ArrayList(Arrays.asList(policy.getList()));
-					list.add(pluginPortion);
-					policy = tempConfig.createSitePolicy(ISitePolicy.USER_INCLUDE, (String[]) list.toArray(new String[0]));
-				}
-				site.setSitePolicy(policy);
-			}
-		}
-
-		// merge resulting site(s) into the specified configuration
-		ISiteEntry[] tempSites = tempConfig.getConfiguredSites();
-		for (int i = 0; i < tempSites.length; i++) {
-			configureSite(tempSites[i], true /*replace*/
-			);
-		}
-	}
-
-	private void validateSites() {
-
-		// check to see if all sites are valid. Remove any sites that do not exist.
-		SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
-		for (int i = 0; i < list.length; i++) {
-			URL siteURL = list[i].getResolvedURL();
-			if (!supportsDetection(siteURL))
-				continue;
-
-			File siteRoot = new File(siteURL.getFile().replace('/', File.separatorChar));
-			if (!siteRoot.exists()) {
-				unconfigureSite(list[i]);
-				if (DEBUG)
-					debug("Site " + siteURL + " does not exist ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	private void copyInitializedState(URL source, String target, String dir) {
-		try {
-			if (!source.getProtocol().equals("file")) //$NON-NLS-1$
-				return; // need to be able to do "dir"
-
-			copy(new File(source.getFile()), new File(target), dir);
-
-		} catch (IOException e) {
-			// this is an optimistic copy. If we fail, the state will be reconciled
-			// when the update manager is triggered.
-		}
-	}
-
-	private void copy(File srcDir, File tgtDir, String extraPath) throws IOException {
-		File src = new File(srcDir, extraPath);
-		File tgt = new File(tgtDir, extraPath);
-
-		if (src.isDirectory()) {
-			// copy content of directories
-			tgt.mkdir();
-			String[] list = src.list();
-			if (list == null)
-				return;
-			for (int i = 0; i < list.length; i++) {
-				copy(srcDir, tgtDir, extraPath + File.separator + list[i]);
-			}
-		} else {
-			// copy individual files
-			FileInputStream is = null;
-			FileOutputStream os = null;
-			try {
-				is = new FileInputStream(src);
-				os = new FileOutputStream(tgt);
-				byte[] buff = new byte[1024];
-				int count = is.read(buff);
-				while (count != -1) {
-					os.write(buff, 0, count);
-					count = is.read(buff);
-				}
-			} catch (IOException e) {
-				// continue ... update reconciler will have to reconstruct state
-			} finally {
-				if (is != null)
-					try {
-						is.close();
-					} catch (IOException e) {
-						// ignore ...
-					}
-				if (os != null)
-					try {
-						os.close();
-					} catch (IOException e) {
-						// ignore ...
-					}
-			}
-		}
-	}
-
-	private void load(URL url) throws IOException {
-
-		if (url == null)
-			throw new IOException(Policy.bind("cfig.unableToLoad.noURL")); //$NON-NLS-1$
-
-		// try to load saved configuration file (watch for failed prior save())
-		Properties props = null;
-		IOException originalException = null;
-		try {
-			props = loadProperties(url, null); // try to load config file
-		} catch (IOException e1) {
-			originalException = e1;
-			try {
-				props = loadProperties(url, CONFIG_FILE_TEMP_SUFFIX); // check for failures on save
-			} catch (IOException e2) {
-				try {
-					props = loadProperties(url, CONFIG_FILE_BAK_SUFFIX); // check for failures on save
-				} catch (IOException e3) {
-					throw originalException; // we tried, but no config here ...
-				}
-			}
-		}
-
-		// check version
-		String v = props.getProperty(CFG_VERSION);
-		if (!VERSION.equals(v)) {
-			throw new IOException(Policy.bind("cfig.badVersion", v)); //$NON-NLS-1$
-		}
-
-		// load simple properties
-		defaultFeature = loadAttribute(props, CFG_FEATURE_ENTRY_DEFAULT, null);
-
-		String flag = loadAttribute(props, CFG_TRANSIENT, null);
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				transientConfig = true;
-			else
-				transientConfig = false;
-		}
-
-		String stamp = loadAttribute(props, CFG_STAMP, null);
-		if (stamp != null) {
-			try {
-				lastChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		stamp = loadAttribute(props, CFG_FEATURE_STAMP, null);
-		if (stamp != null) {
-			try {
-				lastFeaturesChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		stamp = loadAttribute(props, CFG_PLUGIN_STAMP, null);
-		if (stamp != null) {
-			try {
-				lastPluginsChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		// load bootstrap entries
-		String[] ids = getBootstrapPluginIdentifiers();
-		for (int i = 0; i < ids.length; i++) {
-			bootPlugins.put(ids[i], loadAttribute(props, CFG_BOOT_PLUGIN + "." + ids[i], null)); //$NON-NLS-1$
-		}
-
-		// load feature entries
-		IFeatureEntry fe = loadFeatureEntry(props, CFG_FEATURE_ENTRY + ".0", null); //$NON-NLS-1$
-		for (int i = 1; fe != null; i++) {
-			configureFeatureEntry(fe);
-			fe = loadFeatureEntry(props, CFG_FEATURE_ENTRY + "." + i, null); //$NON-NLS-1$
-		}
-
-		// load site properties
-		SiteEntry root = (SiteEntry) getRootSite();
-		String rootUrlString = root.getURL().toExternalForm();
-		SiteEntry se = (SiteEntry) loadSite(props, CFG_SITE + ".0", null); //$NON-NLS-1$
-		for (int i = 1; se != null; i++) {
-
-			// check if we are forcing "first use" processing with an existing
-			// platform.cfg. In this case ignore site entry that represents
-			// the platform install, and use a root site entry in its place.
-			// This ensures we do not get messed up by an exclusion list that
-			// is read from the prior state.
-			if (cmdFirstUse && rootUrlString.equals(se.getURL().toExternalForm()))
-				se = root;
-
-			if (!se.isExternallyLinkedSite())
-				configureSite(se);
-			else
-				// remember external link site state, but do not configure at this point
-				externalLinkSites.put(se.getURL(), se);
-			se = (SiteEntry) loadSite(props, CFG_SITE + "." + i, null); //$NON-NLS-1$
-		}
-	}
-
-	private Properties loadProperties(URL url, String suffix) throws IOException {
-
-		// figure out what we will be loading
-		if (suffix != null && !suffix.equals("")) //$NON-NLS-1$
-			url = new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + suffix);
-
-		// try to load saved configuration file
-		Properties props = new Properties();
-		InputStream is = null;
-		try {
-			is = url.openStream();
-			props.load(is);
-			// check to see if we have complete config file
-			if (!EOF.equals(props.getProperty(EOF))) {
-				throw new IOException(Policy.bind("cfig.unableToLoad.incomplete", url.toString())); //$NON-NLS-1$
-			}
-		} finally {
-			if (is != null) {
-				try {
-					is.close();
-				} catch (IOException e) {
-					// ignore ...
-				}
-			}
-		}
-		return props;
-	}
-
-	private ISiteEntry loadSite(Properties props, String name, ISiteEntry dflt) {
-
-		String urlString = loadAttribute(props, name + "." + CFG_URL, null); //$NON-NLS-1$
-		if (urlString == null)
-			return dflt;
-
-		URL url = null;
-		try {
-			url = new URL(urlString);
-		} catch (MalformedURLException e) {
-			return dflt;
-		}
-
-		int policyType;
-		String[] policyList;
-		String typeString = loadAttribute(props, name + "." + CFG_POLICY, null); //$NON-NLS-1$
-		if (typeString == null) {
-			policyType = DEFAULT_POLICY_TYPE;
-			policyList = DEFAULT_POLICY_LIST;
-		} else {
-			int i;
-			for (i = 0; i < CFG_POLICY_TYPE.length; i++) {
-				if (typeString.equals(CFG_POLICY_TYPE[i])) {
-					break;
-				}
-			}
-			if (i >= CFG_POLICY_TYPE.length) {
-				policyType = DEFAULT_POLICY_TYPE;
-				policyList = DEFAULT_POLICY_LIST;
-			} else {
-				policyType = i;
-				policyList = loadListAttribute(props, name + "." + CFG_LIST, new String[0]); //$NON-NLS-1$
-			}
-		}
-
-		ISitePolicy sp = createSitePolicy(policyType, policyList);
-		SiteEntry site = (SiteEntry) createSiteEntry(url, sp);
-
-		String stamp = loadAttribute(props, name + "." + CFG_STAMP, null); //$NON-NLS-1$
-		if (stamp != null) {
-			try {
-				site.lastChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		stamp = loadAttribute(props, name + "." + CFG_FEATURE_STAMP, null); //$NON-NLS-1$
-		if (stamp != null) {
-			try {
-				site.lastFeaturesChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		stamp = loadAttribute(props, name + "." + CFG_PLUGIN_STAMP, null); //$NON-NLS-1$
-		if (stamp != null) {
-			try {
-				site.lastPluginsChangeStamp = Long.parseLong(stamp);
-			} catch (NumberFormatException e) {
-				// ignore bad attribute ...
-			}
-		}
-
-		String flag = loadAttribute(props, name + "." + CFG_UPDATEABLE, null); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				site.updateable = true;
-			else
-				site.updateable = false;
-		}
-
-		String linkname = loadAttribute(props, name + "." + CFG_LINK_FILE, null); //$NON-NLS-1$
-		if (linkname != null && !linkname.equals("")) { //$NON-NLS-1$
-			site.linkFileName = linkname.replace('/', File.separatorChar);
-		}
-
-		return site;
-	}
-
-	private IFeatureEntry loadFeatureEntry(Properties props, String name, IFeatureEntry dflt) {
-		String id = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ID, null); //$NON-NLS-1$
-		if (id == null)
-			return dflt;
-		String version = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_VERSION, null); //$NON-NLS-1$
-		String pluginVersion = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PLUGIN_VERSION, null); //$NON-NLS-1$
-		if (pluginVersion == null)
-			pluginVersion = version;
-		String pluginIdentifier = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, null); //$NON-NLS-1$
-		if (pluginIdentifier == null)
-			pluginIdentifier = id;
-		String application = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_APPLICATION, null); //$NON-NLS-1$
-		ArrayList rootList = new ArrayList();
-
-		// get install locations
-		String rootString = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ROOT + ".0", null); //$NON-NLS-1$ //$NON-NLS-2$
-		for (int i = 1; rootString != null; i++) {
-			try {
-				URL rootEntry = new URL(rootString);
-				rootList.add(rootEntry);
-			} catch (MalformedURLException e) {
-				// skip bad entries ...
-			}
-			rootString = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ROOT + "." + i, null); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		URL[] roots = (URL[]) rootList.toArray(new URL[0]);
-
-		// get primary flag
-		boolean primary = false;
-		String flag = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PRIMARY, null); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				primary = true;
-		}
-		return createFeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, roots);
-	}
-
-	private String[] loadListAttribute(Properties props, String name, String[] dflt) {
-		ArrayList list = new ArrayList();
-		String value = loadAttribute(props, name + ".0", null); //$NON-NLS-1$
-		if (value == null)
-			return dflt;
-
-		for (int i = 1; value != null; i++) {
-			loadListAttributeSegment(list, value);
-			value = loadAttribute(props, name + "." + i, null); //$NON-NLS-1$
-		}
-		return (String[]) list.toArray(new String[0]);
-	}
-
-	private void loadListAttributeSegment(ArrayList list, String value) {
-
-		if (value == null)
-			return;
-
-		StringTokenizer tokens = new StringTokenizer(value, ","); //$NON-NLS-1$
-		String token;
-		while (tokens.hasMoreTokens()) {
-			token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				list.add(token);
-		}
-		return;
-	}
-
-	private String loadAttribute(Properties props, String name, String dflt) {
-		String prop = props.getProperty(name);
-		if (prop == null)
-			return dflt;
-		else
-			return prop.trim();
-	}
-
-	private void loadInitializationAttributes() {
-
-		// look for the product initialization file relative to the install location
-		URL url = BootLoader.getInstallURL();
-
-		// load any initialization attributes. These are the default settings for
-		// key attributes (eg. default primary feature) supplied by the packaging team.
-		// They are always reloaded on startup to pick up any changes due to
-		// "native" updates.
-		Properties initProps = new Properties();
-		InputStream is = null;
-		try {
-			URL initURL = new URL(url, CONFIG_FILE_INIT);
-			is = initURL.openStream();
-			initProps.load(is);
-			if (DEBUG)
-				debug("Defaults from " + initURL.toExternalForm()); //$NON-NLS-1$
-		} catch (IOException e) {
-			return; // could not load default settings
-		} finally {
-			if (is != null) {
-				try {
-					is.close();
-				} catch (IOException e) {
-					// ignore ...
-				}
-			}
-		}
-
-		// use default settings if supplied
-		String initId = loadAttribute(initProps, INIT_DEFAULT_FEATURE_ID, null);
-		if (initId != null) {
-			String application = loadAttribute(initProps, INIT_DEFAULT_FEATURE_APPLICATION, null);
-			String initPluginId = loadAttribute(initProps, INIT_DEFAULT_PLUGIN_ID, null);
-			if (initPluginId==null)
-				initPluginId = initId;
-			IFeatureEntry fe = findConfiguredFeatureEntry(initId);
-
-			if (fe == null) {
-				// bug 26896 : setup optimistic reconciliation if the primary feature has changed or is new
-				cmdFirstUse = true;
-				// create entry if not exists
-				fe = createFeatureEntry(initId, null, initPluginId, null, true, application, null);
-			} else
-				// update existing entry with new info
-				fe = createFeatureEntry(initId, fe.getFeatureVersion(), fe.getFeaturePluginIdentifier(), fe.getFeaturePluginVersion(), fe.canBePrimary(), application, fe.getFeatureRootURLs());
-			configureFeatureEntry(fe);
-			defaultFeature = initId;
-			if (DEBUG) {
-				debug("    Default primary feature: " + defaultFeature); //$NON-NLS-1$
-				if (application != null)
-					debug("    Default application    : " + application); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private void locateDefaultPlugins() {
-
-		// determine the runtime for the currently executing boot loader
-		HashMap runtimeImport = getRuntimeImport();
-
-		// locate runtime plugin matching the import from boot
-		URL runtimePluginPath = getPluginPath(runtimeImport);
-		if (runtimePluginPath == null)
-			throw new RuntimeException(Policy.bind("error.runtime")); //$NON-NLS-1$
-
-		// get boot descriptor for runtime plugin
-		runtimeDescriptor = createPluginBootDescriptor(runtimePluginPath);
-
-		// determine the xml plugin for the selected runtime
-		HashMap xmlImport = getImport(runtimePluginPath, XML_PLUGIN_ID);
-
-		// locate xml plugin matching the import from runtime plugin
-		URL xmlPluginPath = getPluginPath(xmlImport);
-		if (xmlPluginPath == null)
-			throw new RuntimeException(Policy.bind("error.xerces")); //$NON-NLS-1$
-
-		// get boot descriptor for xml plugin
-		xmlDescriptor = createPluginBootDescriptor(xmlPluginPath);
-	}
-
-	private HashMap getRuntimeImport() {
-		// determine the load directory location of the boot loader
-		URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
-		String path = InternalBootLoader.decode(url.getFile());
-		File base = new File(path);
-		if (!base.isDirectory())
-			base = base.getParentFile(); // was loaded from jar
-
-		// find the plugin.xml (need to search because in dev mode
-		// we can have some extra directory entries)
-		File xml = null;
-		while (base != null) {
-			xml = new File(base, BOOT_XML);
-			if (xml.exists())
-				break;
-			base = base.getParentFile();
-		}
-		if (xml == null)
-			throw new RuntimeException(Policy.bind("error.boot")); //$NON-NLS-1$
-
-		try {
-			return getImport(xml.toURL(), RUNTIME_PLUGIN_ID);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	private HashMap getImport(URL entry, String id) {
-		if (id == null)
-			return null;
-		final String fId = id;
-
-		// parse out the import element attributes
-		Selector importSel = new Selector() {
-				// parse out import attributes
-	public boolean select(String element) {
-				if (element.startsWith("import")) //$NON-NLS-1$
-					return true;
-				else
-					return false;
-			}
-			public boolean select(String element, HashMap attributes) {
-				if (attributes == null)
-					return false;
-				String plugin = (String) attributes.get("plugin"); //$NON-NLS-1$
-				return fId.equals(plugin);
-			}
-		};
-		Parser p = new Parser(entry);
-		return p.getElement(importSel);
-	}
-
-	private BootDescriptor createPluginBootDescriptor(URL entry) {
-		if (entry == null)
-			return null;
-
-		// selector for plugin element
-		Selector pluginSel = new Selector() {
-			public boolean select(String element) {
-				if (element.startsWith("plugin")) //$NON-NLS-1$
-					return true;
-				else
-					return false;
-			}
-			public boolean select(String element, HashMap attributes) {
-				return true;
-			}
-		};
-
-		// selector for library elements
-		final ArrayList libs = new ArrayList();
-		Selector librarySel = new Selector() {
-			public boolean select(String element) {
-				if (element.startsWith("library")) //$NON-NLS-1$
-					return true;
-				else
-					return false;
-			}
-			public boolean select(String element, HashMap attributes) {
-				if (attributes == null)
-					return false;
-				String lib = (String) attributes.get("name"); //$NON-NLS-1$
-				if (lib != null)
-					libs.add(lib);
-				return false; // accumulate all library elements
-			}
-		};
-
-		// parse out descriptor information
-		Parser p = new Parser(entry);
-		String id = null;
-		String version = null;
-		HashMap attributes = p.getElement(pluginSel);
-		if (attributes != null) {
-			id = (String) attributes.get("id"); //$NON-NLS-1$
-			version = (String) attributes.get("version"); //$NON-NLS-1$
-		}
-		if (id == null)
-			id = ""; //$NON-NLS-1$
-		if (version == null)
-			version = "0.0.0"; //$NON-NLS-1$
-
-		p.getElement(librarySel);
-		String[] libraries = (String[]) libs.toArray(new String[0]);
-
-		String dir = entry.getFile();
-		int ix = dir.lastIndexOf("/"); //$NON-NLS-1$
-		dir = dir.substring(0, ix + 1);
-		URL dirURL = null;
-		try {
-			dirURL = new URL(entry.getProtocol(), entry.getHost(), entry.getPort(), dir);
-		} catch (MalformedURLException e) {
-			// continue ...
-		}
-
-		// return boot descriptor for the plugin
-		return new BootDescriptor(id, version, libraries, dirURL);
-	}
-
-	private URL getPluginPath(HashMap importElement) {
-		// return the plugin path element for the specified import element
-
-		if (importElement == null)
-			return null;
-
-		// determine which plugin we are looking for
-		VersionedIdentifier id;
-		String pid = (String) importElement.get("plugin"); //$NON-NLS-1$
-		String version = (String) importElement.get("version"); //$NON-NLS-1$
-		String match = (String) importElement.get("match"); //$NON-NLS-1$
-		if (pid == null)
-			return null; // bad <import> element
-		if (version == null)
-			id = new VersionedIdentifier(pid);
-		else {
-			id = new VersionedIdentifier(pid + "_" + version); //$NON-NLS-1$
-			if (match == null)
-				match = "compatible"; //$NON-NLS-1$
-		}
-
-		// search plugins on all configured sites
-		ISiteEntry[] sites = getConfiguredSites();
-		if (sites == null || sites.length == 0)
-			return null;
-
-		VersionedIdentifier savedVid = id; // initialize with baseline we are looking for
-		String savedEntry = null;
-		URL savedURL = null;
-		for (int j = 0; j < sites.length; j++) {
-			String[] plugins = sites[j].getPlugins();
-			for (int i = 0; plugins != null && i < plugins.length; i++) {
-				// look for best match.
-				// The entries are in the form <path>/<pluginDir>/plugin.xml
-				// look for -------------------------^
-				int ix = findEntrySeparator(plugins[i], 2); // second from end
-				if (ix == -1)
-					continue; // bad entry ... skip
-				String pluginDir = plugins[i].substring(ix + 1);
-				ix = pluginDir.indexOf("/"); //$NON-NLS-1$
-				if (ix != -1)
-					pluginDir = pluginDir.substring(0, ix);
-				if (pluginDir.equals("")) //$NON-NLS-1$
-					continue; // bad entry ... skip
-
-				// compare the candidate plugin using the matching rule
-				VersionedIdentifier vid = new VersionedIdentifier(pluginDir);
-				if (vid.equalIdentifiers(id)) {
-
-					// check if we have suffixed directory. If not (eg. self-hosting)
-					// we need to actually parse the plugin.xml to get its version
-					if (pluginDir.indexOf("_") == -1) { //$NON-NLS-1$
-						URL xmlURL = null;
-						try {
-							xmlURL = new URL(((SiteEntry) sites[j]).getResolvedURL(), plugins[i]);
-						} catch (MalformedURLException e) {
-							continue; // bad URL ... skip
-						}
-
-						// parse out the plugin element attributes
-						final String fpid = pid;
-						Selector versionSel = new Selector() {
-								// parse out plugin attributes
-	public boolean select(String element) {
-								if (element.startsWith("plugin")) //$NON-NLS-1$
-									return true;
-								else
-									return false;
-							}
-							public boolean select(String element, HashMap attributes) {
-								if (attributes == null)
-									return false;
-								String plugin = (String) attributes.get("id"); //$NON-NLS-1$
-								return fpid.equals(plugin);
-							}
-						};
-						Parser p = new Parser(xmlURL);
-						HashMap attributes = p.getElement(versionSel);
-						if (attributes == null)
-							continue; // bad xml ... skip
-						String pluginVersion;
-						if ((pluginVersion = (String) attributes.get("version")) == null) //$NON-NLS-1$
-							continue; // bad xml ... skip
-						pluginDir += "_" + pluginVersion; //$NON-NLS-1$
-						vid = new VersionedIdentifier(pluginDir);
-					}
-
-					// do the comparison
-					int result;
-					if ((result = vid.compareVersion(savedVid)) >= 0) {
-						if ("greaterOrEqual".equals(match)) { //$NON-NLS-1$
-							if (result > VersionedIdentifier.GREATER_THAN)
-								continue;
-						} else if ("compatible".equals(match)) { //$NON-NLS-1$
-							if (result > VersionedIdentifier.COMPATIBLE)
-								continue;
-						} else if ("equivalent".equals(match)) { //$NON-NLS-1$
-							if (result > VersionedIdentifier.EQUIVALENT)
-								continue;
-						} else if ("perfect".equals(match)) { //$NON-NLS-1$
-							if (result > VersionedIdentifier.EQUAL)
-								continue;
-						} else if (result > VersionedIdentifier.GREATER_THAN)
-							continue; // use the latest
-						savedVid = vid;
-						savedEntry = plugins[i];
-						savedURL = ((SiteEntry) sites[j]).getResolvedURL();
-					}
-				}
-			}
-		}
-
-		if (savedEntry == null)
-			return null;
-
-		try {
-			return new URL(savedURL, savedEntry);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	private void write(PrintWriter w) {
-		// write header
-		w.println("# " + (new Date()).toString()); //$NON-NLS-1$
-		writeAttribute(w, CFG_VERSION, VERSION);
-		if (transientConfig)
-			writeAttribute(w, CFG_TRANSIENT, "true"); //$NON-NLS-1$
-		w.println(""); //$NON-NLS-1$
-
-		// write global attributes
-		writeAttribute(w, CFG_STAMP, Long.toString(getChangeStamp()));
-		writeAttribute(w, CFG_FEATURE_STAMP, Long.toString(getFeaturesChangeStamp()));
-		writeAttribute(w, CFG_PLUGIN_STAMP, Long.toString(getPluginsChangeStamp()));
-
-		// write out bootstrap entries
-		String[] ids = getBootstrapPluginIdentifiers();
-		for (int i = 0; i < ids.length; i++) {
-			String location = (String) bootPlugins.get(ids[i]);
-			if (location != null)
-				writeAttribute(w, CFG_BOOT_PLUGIN + "." + ids[i], location); //$NON-NLS-1$
-		}
-
-		// write out feature entries
-		w.println(""); //$NON-NLS-1$
-		writeAttribute(w, CFG_FEATURE_ENTRY_DEFAULT, defaultFeature);
-		IFeatureEntry[] feats = getConfiguredFeatureEntries();
-		for (int i = 0; i < feats.length; i++) {
-			writeFeatureEntry(w, CFG_FEATURE_ENTRY + "." + Integer.toString(i), feats[i]); //$NON-NLS-1$
-		}
-
-		// write out site entries
-		SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
-		for (int i = 0; i < list.length; i++) {
-			writeSite(w, CFG_SITE + "." + Integer.toString(i), list[i]); //$NON-NLS-1$
-		}
-
-		// write end-of-file marker
-		writeAttribute(w, EOF, EOF);
-	}
-
-	private void writeSite(PrintWriter w, String id, SiteEntry entry) {
-
-		// write site separator
-		w.println(""); //$NON-NLS-1$
-
-		// write out site settings
-		writeAttribute(w, id + "." + CFG_URL, entry.getURL().toString()); //$NON-NLS-1$
-		writeAttribute(w, id + "." + CFG_STAMP, Long.toString(entry.getChangeStamp())); //$NON-NLS-1$
-		writeAttribute(w, id + "." + CFG_FEATURE_STAMP, Long.toString(entry.getFeaturesChangeStamp())); //$NON-NLS-1$
-		writeAttribute(w, id + "." + CFG_PLUGIN_STAMP, Long.toString(entry.getPluginsChangeStamp())); //$NON-NLS-1$
-		writeAttribute(w, id + "." + CFG_UPDATEABLE, entry.updateable ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if (entry.linkFileName != null && !entry.linkFileName.trim().equals("")) //$NON-NLS-1$
-			writeAttribute(w, id + "." + CFG_LINK_FILE, entry.linkFileName.trim().replace(File.separatorChar, '/')); //$NON-NLS-1$
-
-		// write out site policy
-		int type = entry.getSitePolicy().getType();
-		String typeString = CFG_POLICY_TYPE_UNKNOWN;
-		try {
-			typeString = CFG_POLICY_TYPE[type];
-		} catch (IndexOutOfBoundsException e) {
-			// ignore bad attribute ...
-		}
-		writeAttribute(w, id + "." + CFG_POLICY, typeString); //$NON-NLS-1$
-		writeListAttribute(w, id + "." + CFG_LIST, entry.getSitePolicy().getList()); //$NON-NLS-1$
-	}
-
-	private void writeFeatureEntry(PrintWriter w, String id, IFeatureEntry entry) {
-
-		// write feature entry separator
-		w.println(""); //$NON-NLS-1$
-
-		// write out feature entry settings
-		writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_ID, entry.getFeatureIdentifier()); //$NON-NLS-1$
-		if (entry.canBePrimary())
-			writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PRIMARY, "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_VERSION, entry.getFeatureVersion()); //$NON-NLS-1$
-		if (entry.getFeatureVersion() != null && !entry.getFeatureVersion().equals(entry.getFeaturePluginVersion()))
-			writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PLUGIN_VERSION, entry.getFeaturePluginVersion()); //$NON-NLS-1$
-		if (entry.getFeatureIdentifier() != null && !entry.getFeatureIdentifier().equals(entry.getFeaturePluginIdentifier()))
-			writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, entry.getFeaturePluginIdentifier()); //$NON-NLS-1$
-		writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_APPLICATION, entry.getFeatureApplication()); //$NON-NLS-1$
-		URL[] roots = entry.getFeatureRootURLs();
-		for (int i = 0; i < roots.length; i++) {
-			// write our as individual attributes (is easier for Main.java to read)
-			writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_ROOT + "." + i, roots[i].toExternalForm()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	private void writeListAttribute(PrintWriter w, String id, String[] list) {
-		if (list == null || list.length == 0)
-			return;
-
-		String value = ""; //$NON-NLS-1$
-		int listLen = 0;
-		int listIndex = 0;
-		for (int i = 0; i < list.length; i++) {
-			if (listLen != 0)
-				value += ","; //$NON-NLS-1$
-			else
-				value = ""; //$NON-NLS-1$
-			value += list[i];
-
-			if (++listLen >= CFG_LIST_LENGTH) {
-				writeAttribute(w, id + "." + Integer.toString(listIndex++), value); //$NON-NLS-1$
-				listLen = 0;
-			}
-		}
-		if (listLen != 0)
-			writeAttribute(w, id + "." + Integer.toString(listIndex), value); //$NON-NLS-1$
-	}
-
-	private void writeAttribute(PrintWriter w, String id, String value) {
-		if (value == null || value.trim().equals("")) //$NON-NLS-1$
-			return;
-		w.println(id + "=" + escapedValue(value)); //$NON-NLS-1$
-	}
-
-	private String escapedValue(String value) {
-		// if required, escape property values as \\uXXXX
-		StringBuffer buf = new StringBuffer(value.length() * 2); // assume expansion by less than factor of 2
-		for (int i = 0; i < value.length(); i++) {
-			char character = value.charAt(i);
-			if (character == '\\' || character == '\t' || character == '\r' || character == '\n' || character == '\f') {
-				// handle characters requiring leading \
-				buf.append('\\');
-				buf.append(character);
-			} else if ((character < 0x0020) || (character > 0x007e)) {
-				// handle characters outside base range (encoded)
-				buf.append('\\');
-				buf.append('u');
-				buf.append(HEX[(character >> 12) & 0xF]); // first nibble
-				buf.append(HEX[(character >> 8) & 0xF]); // second nibble
-				buf.append(HEX[(character >> 4) & 0xF]); // third nibble
-				buf.append(HEX[character & 0xF]); // fourth nibble
-			} else {
-				// handle base characters
-				buf.append(character);
-			}
-		}
-		return buf.toString();
-	}
-
-	private static String[] checkForFeatureChanges(String[] args, PlatformConfiguration cfg) {
-		String original = cfg.getApplicationIdentifierInternal();
-		String actual = cfg.getApplicationIdentifier();
-
-		if (original.equals(actual))
-			// base startup of specified application
-			return args;
-		else {
-			// Will run reconciler.
-			// Re-insert -application argument with original app and optionally
-			// force "first use" processing
-			int newArgCnt = cmdFirstUse ? 3 : 2;
-			String[] newArgs = new String[args.length + newArgCnt];
-			newArgs[0] = CMD_APPLICATION;
-			newArgs[1] = original;
-			if (cmdFirstUse)
-				newArgs[2] = CMD_FIRSTUSE;
-			System.arraycopy(args, 0, newArgs, newArgCnt, args.length);
-			if (DEBUG)
-				debug("triggering reconciliation ..."); //$NON-NLS-1$
-			return newArgs;
-		}
-	}
-
-	private static String[] checkForNewUpdates(IPlatformConfiguration cfg, String[] args) {
-		try {
-			URL markerURL = new URL(cfg.getConfigurationLocation(), CHANGES_MARKER);
-			File marker = new File(markerURL.getFile());
-			if (!marker.exists())
-				return args;
-
-			// indicate -newUpdates
-			marker.delete();
-			String[] newArgs = new String[args.length + 1];
-			newArgs[0] = CMD_NEW_UPDATES;
-			System.arraycopy(args, 0, newArgs, 1, args.length);
-			return newArgs;
-		} catch (MalformedURLException e) {
-			return args;
-		}
-	}
-
-	private static String[] processCommandLine(String[] args) throws Exception {
-		int[] configArgs = new int[100];
-		configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
-		int configArgIndex = 0;
-		for (int i = 0; i < args.length; i++) {
-			boolean found = false;
-
-			// check for args without parameters (i.e., a flag arg)
-
-			// look for forced "first use" processing (triggered by stale
-			// bootstrap information)
-			if (args[i].equalsIgnoreCase(CMD_FIRSTUSE)) {
-				cmdFirstUse = true;
-				found = true;
-			}
-
-			// look for the update flag
-			if (args[i].equalsIgnoreCase(CMD_UPDATE)) {
-				cmdUpdate = true;
-				found = true;
-			}
-
-			// look for the no-update flag
-			if (args[i].equalsIgnoreCase(CMD_NO_UPDATE)) {
-				cmdNoUpdate = true;
-				found = true;
-			}
-
-			// look for the initialization flag
-			if (args[i].equalsIgnoreCase(CMD_INITIALIZE)) {
-				cmdInitialize = true;
-				continue; // do not remove from command line
-			}
-
-			// look for the development mode flag ... triggers no-update
-			if (args[i].equalsIgnoreCase(CMD_DEV)) {
-				cmdDev = true;
-				continue; // do not remove from command line
-			}
-
-			if (found) {
-				configArgs[configArgIndex++] = i;
-				continue;
-			}
-
-			// check for args with parameters. If we are at the last argument or if the next one
-			// has a '-' as the first character, then we can't have an arg with a parm so continue.
-
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) { //$NON-NLS-1$
-				continue;
-			}
-
-			String arg = args[++i];
-
-			// look for the platform configuration to use.
-			if (args[i - 1].equalsIgnoreCase(CMD_CONFIGURATION)) {
-				found = true;
-				cmdConfiguration = arg;
-			}
-
-			// look for the feature to use for customization.
-			if (args[i - 1].equalsIgnoreCase(CMD_FEATURE)) {
-				found = true;
-				cmdFeature = arg;
-			}
-
-			// look for the application to run.  Only use the value from the
-			// command line if the application identifier was not explicitly
-			// passed on BootLoader.run(...) invocation.
-			if (args[i - 1].equalsIgnoreCase(CMD_APPLICATION)) {
-				found = true;
-				if (cmdApplication == null)
-					cmdApplication = arg;
-			}
-
-			// R1.0 compatibility
-			// look for the plugins location to use.  Only use the value from the
-			// command line if the plugins location was not explicitly passed on
-			// BootLoader.run(...) or BootLoader.startup(...) invocation.
-			if (args[i - 1].equalsIgnoreCase(CMD_PLUGINS)) {
-				found = true;
-				// if the arg can be made into a URL use it. Otherwise assume that
-				// it is a file path so make a file URL.
-				try {
-					if (cmdPlugins == null)
-						cmdPlugins = new URL(arg);
-				} catch (MalformedURLException e) {
-					try {
-						cmdPlugins = new URL("file:" + arg.replace(File.separatorChar, '/')); //$NON-NLS-1$
-					} catch (MalformedURLException e2) {
-						throw e; // rethrow original exception
-					}
-				}
-			}
-
-			// done checking for args.  Remember where an arg was found
-			if (found) {
-				configArgs[configArgIndex++] = i - 1;
-				configArgs[configArgIndex++] = i;
-			}
-		}
-
-		// remove all the arguments consumed by this argument parsing
-		if (configArgIndex == 0)
-			return args;
-		String[] passThruArgs = new String[args.length - configArgIndex];
-		configArgIndex = 0;
-		int j = 0;
-		for (int i = 0; i < args.length; i++) {
-			if (i == configArgs[configArgIndex])
-				configArgIndex++;
-			else
-				passThruArgs[j++] = args[i];
-		}
-		return passThruArgs;
-	}
-
-	private static int findEntrySeparator(String pathEntry, int cnt) {
-		for (int i = pathEntry.length() - 1; i >= 0; i--) {
-			if (pathEntry.charAt(i) == '/') {
-				if (--cnt == 0)
-					return i;
-			}
-		}
-		return -1;
-	}
-
-	private static String[] stringListToArray(String prop, String separator) {
-		if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		ArrayList list = new ArrayList();
-		StringTokenizer tokens = new StringTokenizer(prop, separator);
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				list.add(token);
-		}
-		return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
-	}
-
-	private static boolean supportsDetection(URL url) {
-		String protocol = url.getProtocol();
-		if (protocol.equals("file")) //$NON-NLS-1$
-			return true;
-		else if (protocol.equals(PlatformURLHandler.PROTOCOL)) {
-			URL resolved = null;
-			try {
-				resolved = resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				return false; // we tried but failed to resolve the platform URL
-			}
-			return resolved.getProtocol().equals("file"); //$NON-NLS-1$
-		} else
-			return false;
-	}
-
-	private static void verifyPath(URL url) {
-		String protocol = url.getProtocol();
-		String path = null;
-		if (protocol.equals("file")) //$NON-NLS-1$
-			path = url.getFile();
-		else if (protocol.equals(PlatformURLHandler.PROTOCOL)) {
-			URL resolved = null;
-			try {
-				resolved = resolvePlatformURL(url); // 19536
-				if (resolved.getProtocol().equals("file")) //$NON-NLS-1$
-					path = resolved.getFile();
-			} catch (IOException e) {
-				// continue ...
-			}
-		}
-
-		if (path != null) {
-			File dir = new File(path).getParentFile();
-			if (dir != null)
-				dir.mkdirs();
-		}
-	}
-
-	private static URL resolvePlatformURL(URL url) throws IOException {
-		// 19536
-		if (url.getProtocol().equals(PlatformURLHandler.PROTOCOL)) {
-			URLConnection connection = url.openConnection();
-			if (connection instanceof PlatformURLConnection) {
-				url = ((PlatformURLConnection) connection).getResolvedURL();
-			} else {
-				//				connection = new PlatformURLBaseConnection(url);
-				//				url = ((PlatformURLConnection)connection).getResolvedURL();
-				url = InternalBootLoader.getInstallURL();
-			}
-		}
-		return url;
-	}
-
-	private static void debug(String s) {
-		System.out.println("PlatformConfig: " + s); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
deleted file mode 100644
index 5d9813a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-/**
- * Platform URL support
- * platform:/base/	maps to platform installation location
- */
-
-import java.io.IOException;
-import java.net.URL;
- 
-public class PlatformURLBaseConnection extends PlatformURLConnection {
-
-	// platform/ protocol
-	public static final String PLATFORM = "base"; //$NON-NLS-1$
-	public static final String PLATFORM_URL_STRING = PlatformURLHandler.PROTOCOL+PlatformURLHandler.PROTOCOL_SEPARATOR+"/"+PLATFORM+"/"; //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private static URL installURL;
-public PlatformURLBaseConnection(URL url) {
-	super(url);
-}
-protected boolean allowCaching() {
-	return true;
-}
-protected URL resolve() throws IOException {
-	String spec = url.getFile().trim();
-	if (spec.startsWith("/")) //$NON-NLS-1$
-		spec = spec.substring(1);
-	if (!spec.startsWith(PLATFORM+"/")) { //$NON-NLS-1$
-		String message = Policy.bind("url.badVariant", url.toString()); //$NON-NLS-1$
-		throw new IOException(message);
-	}
-	return spec.length()==PLATFORM.length()+1 ? installURL : new URL(installURL,spec.substring(PLATFORM.length()+1)); 
-}
-public static void startup(URL url) {
-	
-	// register connection type for platform:/base/ handling
-	if (installURL!=null) return;
-	installURL = url;
-	PlatformURLHandler.register(PLATFORM, PlatformURLBaseConnection.class);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
deleted file mode 100644
index 5686ce9..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-/**
- * Platform URL support
- */
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
- 
-public abstract class PlatformURLConnection extends URLConnection {
-
-	// URL access
-	private boolean isInCache = false;
-	private boolean isJar = false;
-	
-//	protected URL url;				// declared in super (platform: URL)
-	private URL resolvedURL = null;	// resolved file URL (eg. http: URL)
-	private URL cachedURL = null;	// file URL in cache (file: URL)
-
-	private URLConnection connection = null; // actual connection
-
-	// local cache
-	private static Properties cacheIndex = new Properties();
-	private static String cacheLocation;
-	private static String indexName;
-	private static String filePrefix;
-
-	// constants	
-	private static final int BUF_SIZE = 32768;
-	private static final Object NOT_FOUND = new Object();	// marker
-	private static final String CACHE_PROP = ".cache.properties"; //$NON-NLS-1$
-	private static final String CACHE_LOCATION_PROP = "location"; //$NON-NLS-1$
-	private static final String CACHE_INDEX_PROP = "index"; //$NON-NLS-1$
-	private static final String CACHE_PREFIX_PROP = "prefix"; //$NON-NLS-1$
-	private static final String CACHE_INDEX = ".index.properties"; //$NON-NLS-1$
-	private static final String CACHE_DIR = PlatformURLHandler.PROTOCOL + File.separator;
-
-	// debug tracing
-	public static boolean DEBUG = false;
-	public static boolean DEBUG_CONNECT = true;
-	public static boolean DEBUG_CACHE_LOOKUP = true;
-	public static boolean DEBUG_CACHE_COPY = true;
-protected PlatformURLConnection(URL url) {
-	super(url);
-}
-protected boolean allowCaching() {
-	return false;
-}
-public void connect() throws IOException {
-	connect(false);
-}
-private synchronized void connect(boolean asLocal) throws IOException {
-	if (!connected) {
-		if (shouldCache(asLocal)) {
-			try {				
-				URL inCache = getURLInCache();
-				if (inCache!=null) connection = inCache.openConnection();
-			} catch(IOException e) {
-				// failed to cache ... will use resolved URL instead
-			}
-		}
-
-		// use resolved URL
-		if (connection==null) connection = resolvedURL.openConnection();
-		connected = true;
-		if (DEBUG && DEBUG_CONNECT)
-			debug("Connected as "+connection.getURL()); //$NON-NLS-1$
-	}
-}
-private void copyToCache() throws IOException {
-
-	if (isInCache | cachedURL==null) return;
-	String tmp;
-	int ix;
-		
-	// cache entry key
-	String key;
-	if (isJar) {
-		tmp = url.getFile();
-		ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
-		if (ix!=-1) tmp = tmp.substring(0,ix);
-		key = tmp;
-	}
-	else key = url.getFile();
-		
-	// source url
-	URL src;
-	if (isJar) {
-		tmp = resolvedURL.getFile();
-		ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
-		if (ix!=-1) tmp = tmp.substring(0,ix);
-		src = new URL(tmp);
-	}
-	else src = resolvedURL;
-	InputStream srcis = null;
-	
-	// cache target
-	String tgt;
-	if (isJar) {
-		tmp = cachedURL.getFile();
-		ix = tmp.indexOf(PlatformURLHandler.PROTOCOL_SEPARATOR);
-		if (ix!=-1) tmp = tmp.substring(ix+1);
-		ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
-		if (ix!=-1) tmp = tmp.substring(0,ix);
-		tgt = tmp;
-	}
-	else tgt = cachedURL.getFile();	
-	File tgtFile = null;
-	FileOutputStream tgtos = null;
-	
-	boolean error = false;
-	long total = 0;
-
-	try {
-		if (DEBUG && DEBUG_CACHE_COPY) {
-			if (isJar) debug ("Caching jar as "+tgt); //$NON-NLS-1$
-			else debug("Caching as "+tgt); //$NON-NLS-1$
-		}
-			
-		srcis = src.openStream();
-		byte[] buf = new byte[BUF_SIZE];
-		int count = srcis.read(buf);
-
-		tgtFile = new File(tgt);
-		tgtos = new FileOutputStream(tgtFile);
-		
-		while(count!=-1) {
-			total += count;
-			tgtos.write(buf,0,count);
-			count = srcis.read(buf);
-		}
-
-		srcis.close();
-		srcis=null;
-		tgtos.close();
-		tgtos=null;
-
-		// add cache entry
-		cacheIndex.put(key,tgt);
-		isInCache = true;
-	}
-	catch(IOException e) {
-		error = true;
-		cacheIndex.put(key,NOT_FOUND);	// mark cache entry for this execution
-		if (DEBUG && DEBUG_CACHE_COPY)
-			debug("Failed to cache due to "+e); //$NON-NLS-1$
-		throw e;		
-	}
-	finally {		
-		if (!error && DEBUG && DEBUG_CACHE_COPY)
-			debug(total + " bytes copied"); //$NON-NLS-1$
-		if (srcis!=null) srcis.close();
-		if (tgtos!=null) tgtos.close();
-	}
-}
-protected void debug(String s) {
-	System.out.println("URL "+getURL().toString()+"^"+Integer.toHexString(Thread.currentThread().hashCode())+" "+s); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-}
-private static void debugStartup(String s) {
-	System.out.println("URL "+s); //$NON-NLS-1$
-}
-public URL[] getAuxillaryURLs () throws IOException {
-	return null;
-}
-public synchronized InputStream getInputStream() throws IOException {
-	if (!connected) connect();
-	return connection.getInputStream();
-}
-public URL getResolvedURL() {
-	return resolvedURL;
-}
-public URL getURLAsLocal() throws IOException {
-	connect(true);	// connect and force caching if necessary
-	URL u = connection.getURL();
-	String up = u.getProtocol();
-	if (!up.equals(PlatformURLHandler.FILE) && !up.equals(PlatformURLHandler.JAR)) {
-		throw new IOException(Policy.bind("url.noaccess", url.toString())); //$NON-NLS-1$
-	}
-	return u;
-}
-private URL getURLInCache() throws IOException {
-
-	if (!allowCaching()) return null;	// target should not be cached
-	
-	if (isInCache) return cachedURL;
-
-	if (cacheLocation==null | cacheIndex==null) return null;	// not caching
-	
-	// check if we are dealing with a .jar/ .zip
-	String file = ""; //$NON-NLS-1$
-	String jarEntry = null;
-	if (isJar) {
-		file = url.getFile();
-		int ix = file.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
-		if (ix!=-1) {
-			jarEntry = file.substring(ix+PlatformURLHandler.JAR_SEPARATOR.length());
-			file = file.substring(0,ix);
-		}
-	}
-	else {
-		file = url.getFile();
-		jarEntry = null;
-	}
-	
-	// check for cached entry
-	String tmp = (String)cacheIndex.get(file);
-
-	// check for "not found" marker
-	if (tmp!=null && tmp==NOT_FOUND) throw new IOException();
-
-	// validate cache entry
-	if (tmp!=null && !(new File(tmp)).exists()) {
-		tmp = null;
-		cacheIndex.remove(url.getFile());
-	}
-
-	// found in cache
-	if (tmp!=null) {
-		if (isJar) {
-			if (DEBUG && DEBUG_CACHE_LOOKUP)
-				debug("Jar located in cache as "+tmp); //$NON-NLS-1$
-			tmp = PlatformURLHandler.FILE + PlatformURLHandler.PROTOCOL_SEPARATOR + tmp + PlatformURLHandler.JAR_SEPARATOR + jarEntry;
-			cachedURL = new URL(PlatformURLHandler.JAR,null,-1,tmp);
-		}
-		else {
-			if (DEBUG && DEBUG_CACHE_LOOKUP)
-				debug("Located in cache as "+tmp); //$NON-NLS-1$
-			cachedURL = new URL(PlatformURLHandler.FILE,null,-1,tmp);
-		}
-		isInCache = true;
-	}
-	else {
-		// attemp to cache
-		int ix = file.lastIndexOf("/"); //$NON-NLS-1$
-		tmp = file.substring(ix+1);
-		tmp = cacheLocation + filePrefix + Long.toString((new java.util.Date()).getTime()) + "_" + tmp; //$NON-NLS-1$
-		tmp = tmp.replace(File.separatorChar,'/');
-		if (isJar) {
-			tmp = PlatformURLHandler.FILE + PlatformURLHandler.PROTOCOL_SEPARATOR + tmp + PlatformURLHandler.JAR_SEPARATOR + jarEntry;
-			cachedURL = new URL(PlatformURLHandler.JAR,null,-1,tmp);
-		}
-		else cachedURL = new URL(PlatformURLHandler.FILE,null,-1,tmp);
-		copyToCache();
-	}
-	
-	return cachedURL;
-}
-/*
- * to be implemented by subclass
- * @return URL resolved URL
- */
- 
-protected URL resolve() throws IOException {
-	throw new IOException();
-}
-
-private String resolvePath(String spec) {
-	if (spec.length() == 0 || spec.charAt(0) != '$')
-		return spec;
-	int i = spec.indexOf('/', 1);
-	String first = ""; //$NON-NLS-1$
-	String rest = ""; //$NON-NLS-1$
-	if (i == -1)
-		first = spec;
-	else {	
-		first = spec.substring(0, i);
-		rest = spec.substring(i);
-	}
-	if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
-		return "ws/" + InternalBootLoader.getWS() + rest; //$NON-NLS-1$
-	if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
-		return "os/" + InternalBootLoader.getOS() + rest; //$NON-NLS-1$
-	if (first.equalsIgnoreCase("$nl$")) { //$NON-NLS-1$
-		String nl = InternalBootLoader.getNL();
-		nl = nl.replace('_', '/');
-		return "nl/" + nl + rest; //$NON-NLS-1$
-	}
-	return spec;
-}
-
-protected String getId(String spec) {
-	int i = spec.lastIndexOf('_');
-	return i >= 0 ? spec.substring(0, i) : spec;
-}
-
-protected String getVersion(String spec) {
-	int i = spec.lastIndexOf('_');
-	return i >= 0 ? spec.substring(i + 1, spec.length()) : ""; //$NON-NLS-1$
-}
-
-void setResolvedURL(URL url) throws IOException {
-	if (resolvedURL==null) {
-		int ix = url.getFile().lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
-		isJar = -1 != ix;
-		// Resolved URLs containing !/ separator are assumed to be jar URLs.
-		// If the resolved protocol is not jar, new jar URL is created.
-		if (isJar && !url.getProtocol().equals(PlatformURLHandler.JAR)) 
-			url = new URL(PlatformURLHandler.JAR,"",-1,url.toExternalForm()); //$NON-NLS-1$
-		resolvedURL=url;
-	}
-}
-private boolean shouldCache(boolean asLocal) {
-	
-	// don't cache files that are known to be local
-	String rp = resolvedURL.getProtocol();
-	String rf = resolvedURL.getFile();
-	if (rp.equals(PlatformURLHandler.FILE)) return false;
-	if (rp.equals(PlatformURLHandler.JAR) && (rf.startsWith(PlatformURLHandler.FILE))) return false;
-
-	// for other files force caching if local connection was requested
-	if (asLocal) return true;
-	
-	// for now cache all files
-	// XXX: add cache policy support
-	return true;
-}
-static void shutdown() {
-	if (indexName!=null && cacheLocation!=null) {
-		// weed out "not found" entries
-		Enumeration keys = cacheIndex.keys();
-		String key;
-		Object value;
-		while (keys.hasMoreElements()) {
-			key = (String) keys.nextElement();
-			value = cacheIndex.get(key);
-			if (value==NOT_FOUND) cacheIndex.remove(key);
-		}
-		//if the cache index is empty we don't need to save it
-		if (cacheIndex.size() == 0)
-			return;
-		try {
-			// try to save cache index
-			FileOutputStream fos = null;
-			fos = new FileOutputStream(cacheLocation+indexName);
-			try {
-				cacheIndex.store(fos,null);
-			} finally {
-				fos.close();
-			}
-		}
-		catch(IOException e) {
-			// failed to store cache index ... ignore
-		}
-	}	
-}
-static void startup(String location) {
-
-	
-	verifyLocation(location); // check for platform location, ignore errors
-	String cacheProps = location.trim();
-	if (!cacheProps.endsWith(File.separator)) cacheProps += File.separator;
-	cacheProps += CACHE_PROP;
-	File cachePropFile = new File(cacheProps);
-	Properties props = null;	
-	FileInputStream fis;
-	
-	if (cachePropFile.exists()) {
-		// load existing properties	
-		try {
-			props = new Properties();
-			fis = new FileInputStream(cachePropFile);
-			try {
-				props.load(fis);
-			}
-			finally {
-				fis.close();
-			}
-		}
-		catch(IOException e) {
-			props = null;
-		}
-	}
-
-	if (props==null) {
-		// first time up, or failed to load previous settings
-		props = new Properties();
-		String tmp = System.getProperty("java.io.tmpdir"); //$NON-NLS-1$
-		if (!tmp.endsWith(File.separator)) tmp += File.separator;
-		tmp += CACHE_DIR;
-		props.put(CACHE_LOCATION_PROP,tmp);
-		
-		tmp = Long.toString((new java.util.Date()).getTime());
-		props.put(CACHE_PREFIX_PROP,tmp);
-			
-		tmp += CACHE_INDEX;
-		props.put(CACHE_INDEX_PROP,tmp);
-
-		// save for next time around
-		FileOutputStream fos = null;
-		try {
-			fos = new FileOutputStream(cachePropFile);
-			try {
-				props.store(fos,null);
-			}
-			finally {
-				fos.close();
-			}
-		}
-		catch(IOException e) {
-			// failed to store cache location metadata ... ignore
-		}
-	}
-
-	// remember settings for shutdown processing
-	filePrefix = (String)props.get(CACHE_PREFIX_PROP);
-	indexName = (String)props.get(CACHE_INDEX_PROP);
-	cacheLocation = (String)props.get(CACHE_LOCATION_PROP);
-	
-	if (DEBUG) {
-		debugStartup("Cache location: " + cacheLocation); //$NON-NLS-1$
-		debugStartup("Cache index: " + indexName); //$NON-NLS-1$
-		debugStartup("Cache file prefix: " + filePrefix); //$NON-NLS-1$
-	}
-
-	// create cache directory structure if needed
-	if (!verifyLocation(cacheLocation)) {
-		indexName = null;
-		cacheLocation = null;	
-		if (DEBUG)
-			debugStartup("Failed to create cache directory structure. Caching suspended"); //$NON-NLS-1$
-		return;
-	}
-
-	// attempt to initialize cache index
-	if (cacheLocation!=null && indexName!=null) {
-		try {
-			fis = new FileInputStream(cacheLocation+indexName);
-			try {
-				cacheIndex.load(fis);
-			}
-			finally {
-				fis.close();
-			}
-		}
-		catch(IOException e) {				
-			if (DEBUG) 
-				debugStartup("Failed to initialize cache"); //$NON-NLS-1$
-		}
-	}
-}
-private static boolean verifyLocation(String location) {
-	// verify cache directory exists. Create if needed
-	File cacheDir = new File(location);
-	if (cacheDir.exists())
-		return true;
-	return cacheDir.mkdirs();
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
deleted file mode 100644
index 7a2c62b..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.lang.reflect.Constructor;
-
- /**
- * URL handler for the "platform" protocol
- */
-public class PlatformURLHandler extends URLStreamHandler {
-
-	private static Hashtable connectionType = new Hashtable();
-
-	// URL protocol designations
-	public static final String PROTOCOL = "platform"; //$NON-NLS-1$
-	public static final String FILE = "file"; //$NON-NLS-1$
-	public static final String JAR = "jar"; //$NON-NLS-1$
-	public static final String JAR_SEPARATOR = "!/"; //$NON-NLS-1$
-	public static final String PROTOCOL_SEPARATOR = ":"; //$NON-NLS-1$
-protected PlatformURLHandler() {
-	super();
-}
-public URLConnection openConnection(URL url) throws IOException {
-	// Note: openConnection() method is made public (rather than protected)
-	//       to enable request delegation from proxy handlers
-
-	String spec = url.getFile().trim();
-	if (spec.startsWith("/")) spec = spec.substring(1); //$NON-NLS-1$
-	int ix = spec.indexOf("/"); //$NON-NLS-1$
-	if (ix==-1) {
-		String message = Policy.bind("url.invalidURL", url.toString()); //$NON-NLS-1$
-		throw new MalformedURLException(message);
-	}
-
-	String type = spec.substring(0,ix);
-	Constructor construct = (Constructor) connectionType.get(type);
-	if (construct==null) {
-		String message = Policy.bind("url.badVariant", url.toString()); //$NON-NLS-1$
-		throw new MalformedURLException(message);
-	}
-
-	PlatformURLConnection c = null;
-	try {
-		c = (PlatformURLConnection) construct.newInstance(new Object[] { url });
-	}
-	catch(Exception e) {
-		String message = Policy.bind("url.createConnection", url.toString()); //$NON-NLS-1$
-		throw new IOException(message);
-	}
-	c.setResolvedURL(c.resolve());
-	return c;
-}
-public static void register(String type, Class connectionClass) {
-	try {
-		Constructor c = connectionClass.getConstructor(new Class[] { URL.class });	
-		connectionType.put(type, c);
-	}
-	catch(NoSuchMethodException e) {
-		//don't register connection classes that don't conform to the spec
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
deleted file mode 100644
index fd84b4e..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.URL;
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import org.eclipse.core.boot.BootLoader;
- 
-public class PlatformURLHandlerFactory implements URLStreamHandlerFactory {
-
-	private static Hashtable handlers = new Hashtable();
-	
-	private static final String ECLIPSE_HANDLER_FACTORY = "org.eclipse.protocol.handler.factory"; //$NON-NLS-1$
-	
-public PlatformURLHandlerFactory() {
-	super();
-
-	// register eclipse handler
-	handlers.put(PlatformURLHandler.PROTOCOL, new PlatformURLHandler());
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
-	URLStreamHandler handler = null;
-
-	// check for cached handler
-	Object element = handlers.get(protocol);
-	if (element==null) return null;
-	if (element instanceof URLStreamHandler) handler = (URLStreamHandler)element;
-	else {
-		// convert registered factory to a handler
-		URLStreamHandlerFactory f = (URLStreamHandlerFactory) element;
-		handler = f.createURLStreamHandler(protocol);
-		if (handler!=null) handlers.put(protocol, handler);
-		else handlers.remove(protocol);	// bad entry
-	}
-	return handler;
-}
-public static void register(String protocol, URLStreamHandlerFactory factory) {
-	if (protocol.equals(PlatformURLHandler.PROTOCOL)) return;	// just in case ...
-	handlers.put(protocol,factory);
-}
-public static void shutdown() {	
-	
-	PlatformURLHandlerFactoryProxy p = PlatformURLHandlerFactoryProxy.getFactoryProxy();
-	if (p!=null) p.setFactory(null);
-	PlatformURLConnection.shutdown();
-}
-public static void startup(String location) {
-
-	PlatformURLHandlerFactoryProxy p = PlatformURLHandlerFactoryProxy.getFactoryProxy();
-	if (p==null) {
-		p = new PlatformURLHandlerFactoryProxy();
-		try {	
-			URL.setURLStreamHandlerFactory(p);
-		} catch(Error e) {
-			// Application has already set the factory. This is, for example,
-			// the case when Eclipse is running as part of a servlet on
-			// some web application servers. In this case we come up in
-			// "toleration" mode where Eclipse URL protocols are handled
-			// via explicitly supplied protocol proxy handlers using the base
-			// Java convention. Eclipse "registers" its stream factory
-			// using a system property. The explicit proxy handlers
-			// then delegate to the Eclipse handlers via the factory looked
-			// up as a Java property.
-			Properties props = System.getProperties();
-			props.put(ECLIPSE_HANDLER_FACTORY, p);
-			System.setProperties(props);
-			if (BootLoader.inDebugMode()){
-				System.out.println("WARNING: Unable to set URLStreamHandlerFactory."); //$NON-NLS-1$
-				System.out.println("WARNING: Starting in toleration mode."); //$NON-NLS-1$
-			}
-		}
-	}
-	p.setFactory(new PlatformURLHandlerFactory());
-	PlatformURLConnection.startup(location);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
deleted file mode 100644
index bbd03b8..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
- 
-public class PlatformURLHandlerFactoryProxy implements URLStreamHandlerFactory {
-
-	private static PlatformURLHandlerFactoryProxy p = null;	// singleton - set into URL as factory
-	private PlatformURLHandlerFactory f = null; // current actual factory
-PlatformURLHandlerFactoryProxy() {
-	super();
-	if (p==null) p = this;
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
-	if (f==null) return null;
-	else return f.createURLStreamHandler(protocol);
-}
-PlatformURLHandlerFactory getFactory() {
-	return f;
-}
-static PlatformURLHandlerFactoryProxy getFactoryProxy() {
-	return p;
-}
-void setFactory(PlatformURLHandlerFactory factory) {
-	f = factory;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
deleted file mode 100644
index 48dde27..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-public class Policy {
-	private static String bundleName = "org.eclipse.core.internal.boot.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
-
-/**
- * Lookup the message with the given ID in this catalog 
- */
-public static String bind(String id) {
-	return bind(id, (String[])null);
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string.
- */
-public static String bind(String id, String binding) {
-	return bind(id, new String[] {binding});
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given strings.
- */
-public static String bind(String id, String binding1, String binding2) {
-	return bind(id, new String[] {binding1, binding2});
-}
-
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string values.
- */
-public static String bind(String id, String[] bindings) {
-	if (id == null)
-		return "No message available";//$NON-NLS-1$
-	String message = null;
-	try {
-		message = bundle.getString(id);
-	} catch (MissingResourceException e) {
-		// If we got an exception looking for the message, fail gracefully by just returning
-		// the id we were looking for.  In most cases this is semi-informative so is not too bad.
-		return "Missing message: " + id + " in: " + bundleName;//$NON-NLS-1$ //$NON-NLS-2$
-	}
-	if (bindings == null)
-		return message;
-	return MessageFormat.format(message, bindings);
-}
-/**
- * Print a debug message to the console. If the given boolean is <code>true</code> then
- * pre-pend the message with the current date.
- */
-public static void debug(boolean includeDate, String message) {
-	if (includeDate) 
-		message = new Date(System.currentTimeMillis()).toString() + " - "+ message; //$NON-NLS-1$
-	System.out.println(message);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
deleted file mode 100644
index d47ca9a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.*;
-import java.net.URL;
-
-/**
- * Compound enumeration with visibility filtering.
- * Used in implementation of ClassLoader.getResources()
- */
- 
-class ResourceEnumeration implements Enumeration {
-	private Vector enums = new Vector();
-	private String name;
-	private int ix = 0;
-	private Object nextElement = null;
-	private DelegatingURLClassLoader current;
-	private DelegatingURLClassLoader requestor;
-public ResourceEnumeration(String name, Enumeration e, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
-	this.name = name;
-	if (e == null)
-		e = new Enumeration() {
-		public boolean hasMoreElements() {
-			return false;
-		}
-		public Object nextElement() {
-			return null;
-		}
-	};
-	enums.add(e);
-	this.current = current;
-	this.requestor = requestor;
-}
-public void add(Enumeration e) {
-	if (e == null)
-		return;
-	enums.add(e);
-}
-public boolean hasMoreElements() {
-	if (nextElement != null)
-		return true;
-	nextElement = nextVisibleElement();
-	return nextElement != null;
-}
-public Object nextElement() {
-	if (nextElement != null) {
-		Object result = nextElement;
-		nextElement = null;
-		return result;
-	} else
-		return nextVisibleElement();
-}
-private Object nextVisibleElement() {
-	Enumeration e;
-	Object element = null;
-	while (element == null && ix < enums.size()) {
-		e = (Enumeration) enums.elementAt(ix);
-		while (element == null && e.hasMoreElements()) {
-			element = e.nextElement();
-			if (ix == 0) {
-				if (!current.isResourceVisible(name, (URL) element, requestor))
-					element = null;
-			}
-		}
-		if (element == null)
-			ix++;
-	}
-	return element;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
deleted file mode 100644
index 15488e0..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
-
-public class ResourceLoader extends URLClassLoader {
-public ResourceLoader(URL[] resourcePath) {
-	super(resourcePath, null);
-}
-/**
- * Looks for a given class.   Resource loaders can never find classes and
- * so always throw <code>ClassNotFoundException</code>.
- */
-protected Class findClass(final String name) throws ClassNotFoundException {
-	throw new ClassNotFoundException(name);
-}
-/**
- * Looks for a given class.   Resource loaders can never find classes and
- * so always throw <code>ClassNotFoundException</code>.
- */
-protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
-	throw new ClassNotFoundException();
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
deleted file mode 100644
index a5f384d..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.*;
-
-/**
- * Represents class name filter for a given classpath entry. The filter
- * elements use the mask convention used by Java import statements.
- * Mask element "*" implies the full content is public.
- */
-public class URLContentFilter {
-	private Hashtable filterTable = null;
-	private boolean isPublic = false;
-	private boolean isExported = false;
-public URLContentFilter(String[] filter) {
-	if (filter==null || filter.length==0) return;
-
-	String entry;
-	for(int i=0; i<filter.length; i++) {
-		entry = filter[i].trim();
-		if (!entry.equals("")) { //$NON-NLS-1$
-			isExported = true;
-			if (entry.equals("*")) isPublic = true; //$NON-NLS-1$
-			else addMask(entry);
-		}
-	}			
-}
-public URLContentFilter(boolean isPublic) {
-	if (isPublic) {
-		this.isExported = true;
-		this.isPublic = true;
-	}
-}
-private void addMask(String name) {
-
-	if (filterTable==null) filterTable = new Hashtable();
-	filterTable.put(name,this);
-}
-private boolean classMatchesFilter(String name) {
-
-	int i = name.lastIndexOf("."); //$NON-NLS-1$
-	if (i!=-1 && filterTable.get(name.substring(0,i)+".*")!=null) return true; //$NON-NLS-1$
-	else if(filterTable.get(name)!=null) return true;
-	else return false;
-}
-boolean isClassVisible(Class clazz, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
-	return isClassVisible(clazz.getName(), current, requestor);
-}
-boolean isClassVisible(String className, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
-	if (requestor==current) return true;		// request from own loader ... full access
-	if (isPublic) return true;					// public library ... full access from other loaders
-	if (!isExported) return false;				// private library ... no access from other loaders
-	else return classMatchesFilter(className);	// exported library ... match against filters
-}
-boolean isResourceVisible(String resName, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
-	if (requestor==current) return true;		// request from own loader ... full access
-	if (isPublic) return true;					// public library ... full access from other loaders
-	if (!isExported) return false;				// private library ... no access from other loaders
-	else return resourceMatchesFilter(resName);	// exported library ... match against filters
-}
-private boolean resourceMatchesFilter(String name) {
-
-	int i = name.lastIndexOf("/"); //$NON-NLS-1$
-	String tmp = name.replace('/','.');
-	if (i!=-1 && filterTable.get(tmp.substring(0,i)+".*")!=null) return true; //$NON-NLS-1$
-	else if(filterTable.get(tmp)!=null) return true;
-	else return false;
-}
-public String toString() {
-	if (isPublic) return "*"; //$NON-NLS-1$
-	if (!isExported) return "<private>"; //$NON-NLS-1$
-	Enumeration keys = filterTable.keys();
-	String mask = ""; //$NON-NLS-1$
-	String sep = ""; //$NON-NLS-1$
-	while(keys.hasMoreElements()) {
-		mask += sep+(String)keys.nextElement();
-		sep = " + "; //$NON-NLS-1$
-	}
-	return mask;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
deleted file mode 100644
index 97fe2bd..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-### Boot plugin message catalog
-
-ok = OK
-
-### URL
-url.badVariant=Unsupported \"platform:\" protocol variation {0}
-url.invalidURL=Invalid "platform:" URL {0}
-url.createConnection=Unable to create connection {0}
-url.noaccess=Unable to access URL as local {0}.
-
-### Platform Configuration
-cfig.inUse=\nConfiguration file \"{0}\" is in use by another instance of the platform, \n\
-	or there was a failure in deleting the old lock file.  If no other platform instances are running, \n\
-	delete file \"{1}\" and try starting the platform again.
-cfig.failCreateLock=Failed to create lock for configuration file \"{0}\"
-cfig.badUrlArg=Bad -configuration argument \"{0}\"
-cfig.unableToLoad.incomplete=Unable to load {0}
-cfig.unableToLoad.noURL=Configuration file location not specified
-cfig.unableToSave.noURL=Configuration file save location not specified
-cfig.unableToSave=Unable to save configuration file \"{0}\"
-cfig.badVersion=Unsupported configuration version \"{0}\"
-
-platform.running=The Platform is already running.
-platform.mustNotBeRunning=The Platform must not be running.
-platform.notRunning=The Platform is not running.
-
-ignore.plugin=Ignoring invalid plug-in location: {0}.
-application.notFound=Application not found: {0}.
-error.fatal=Fatal Error: Unable to determine platform installation URL {0}.
-error.boot=Fatal Error: Unable to locate boot.xml file for executing org.eclipse.core.boot.
-error.runtime=Fatal Error: Unable to locate matching org.eclipse.core.runtime plugin.
-error.xerces=Fatal Error: Unable to locate matching org.apache.xerces plugin.
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/.classpath b/bundles/org.eclipse.core.runtime/.classpath
deleted file mode 100644
index 885b188..0000000
--- a/bundles/org.eclipse.core.runtime/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src/"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.runtime/.cvsignore b/bundles/org.eclipse.core.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.core.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/.options b/bundles/org.eclipse.core.runtime/.options
deleted file mode 100644
index 5b3bb43..0000000
--- a/bundles/org.eclipse.core.runtime/.options
+++ /dev/null
@@ -1,55 +0,0 @@
-# Debugging options for the org.eclipse.core.runtime plugin
-
-# Turn on general debugging for the org.eclipse.core.runtime plugin.
-# Also displays overall startup time.
-org.eclipse.core.runtime/debug=false
-
-# Prints out values of OS, WS, NL, and ARCH
-org.eclipse.core.runtime/debug/context=false
-
-# Prints time taken by Plugin constructors and startup() methods.
-org.eclipse.core.runtime/timing/startup=false
-
-# Prints time taken by Plugin.shutdown() methods.
-org.eclipse.core.runtime/timing/shutdown=false
-
-# Turn on debugging for the registry.
-org.eclipse.core.runtime/registry/debug=false
-# Specify a filename for a user-readable form of the plugin registry to be written to.
-org.eclipse.core.runtime/registry/debug/dump=
-org.eclipse.core.runtime/registry/debug/resolve=false
-
-# Turn on debugging for the class loader.
-org.eclipse.core.runtime/loader/debug=false
-# Display when class loaders are created.
-org.eclipse.core.runtime/loader/debug/create=false
-# Display when plugins are activated
-org.eclipse.core.runtime/loader/debug/activateplugin=false
-# Debug all class loader actions (finding resource, classes, libraries)
-org.eclipse.core.runtime/loader/debug/actions=false
-# Debug success case only
-org.eclipse.core.runtime/loader/debug/success=false
-# Debug failure case only
-org.eclipse.core.runtime/loader/debug/failure=false
-# Set filters for types of resources to debug. (e.g. org.eclipse.core.*)
-org.eclipse.core.runtime/loader/debug/filter/loader=*
-org.eclipse.core.runtime/loader/debug/filter/class=*
-org.eclipse.core.runtime/loader/debug/filter/resource=*
-org.eclipse.core.runtime/loader/debug/filter/native=*
-# Debug use of the classloader package prefix enhancement
-org.eclipse.core.runtime/loader/debug/prefixes=false
-org.eclipse.core.runtime/loader/debug/prefixes/success=false
-org.eclipse.core.runtime/loader/debug/prefixes/failure=false
-org.eclipse.core.runtime/loader/debug/properties=false
-
-# Turn on debugging in the support for non-local plugins.
-org.eclipse.core.runtime/url/debug=false
-org.eclipse.core.runtime/url/debug/connect=false
-org.eclipse.core.runtime/url/debug/cachelookup=false
-org.eclipse.core.runtime/url/debug/cachecopy=false
-
-# Turn on debugging for install/update.
-org.eclipse.core.runtime/config/debug=false
-
-# Turn on debugging for customization of default preference settings
-org.eclipse.core.runtime/preferences/debug=false
diff --git a/bundles/org.eclipse.core.runtime/.project b/bundles/org.eclipse.core.runtime/.project
deleted file mode 100644
index b826ed6..0000000
--- a/bundles/org.eclipse.core.runtime/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.runtime</name>
-	<comment></comment>
-	<projects>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.core.boot</project>
-	</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/bundles/org.eclipse.core.runtime/about.html b/bundles/org.eclipse.core.runtime/about.html
deleted file mode 100644
index 2c4381a..0000000
--- a/bundles/org.eclipse.core.runtime/about.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>18th July, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-<h3>Cryptography</h3>
-
-<p><b>Export Control</b></p>
-<p>The plug-in contains encryption software.  The country in which you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption software.  BEFORE using any encryption software, please check the country's
-laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this
-is permitted.</p>
-
-<p><b>Encryption Items</b></p>
-
-<p>Details of the encryption software in this plug-in are provided to assist in obtaining relevant export control classification and approval.
-Cryptography in this plug-in has been classified as Export Commodity Control Number (ECCN) 5D002.c.1 by the U.S. Government Department of Commerce,
-Bureau of Export Administration and deemed eligible for export under License Exception Technology Software Unrestricted (TSU) for object code
-and (cryptographic) source code, and License Exception ENC Retail for object code and no (cryptographic) source code.</p>
-
-<p>The plug-in contains a proprietary routine that encrypts and decrypts information used to login to Version Control Management (VCM) repositories.
-This routine uses the SHA-1 message digest algorithm implemented in a Java (TM) Runtime Environment (JRE), to generate a cryptographically secure sequence of bytes based on a
-user-supplied password combined with bytes supplied by a random number generator.  The secure random numbers generated by this sequence are then added to each byte in the data
-to be encrypted. When the data is to be decrypted, the same password will generate the same sequence of random numbers, which is then subtracted from each byte in the encrypted data.
-Note that a JRE and therefore the aforementioned SHA-1 message digest code is not included with the plug-in.</p>
-
-<p>The following Java classes contain encryption items (the plug-in may contain both binary and source code):</p>
-
-<ul>
-	<li>org.eclipse.core.internal.runtime.Cipher</li>
-</ul>
-
-<small>Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</small>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/build.properties b/bundles/org.eclipse.core.runtime/build.properties
deleted file mode 100644
index 1ed483d..0000000
--- a/bundles/org.eclipse.core.runtime/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.runtime.jar=src/
-src.includes=about.html,schema/
-bin.includes=.options,plugin.xml,*.jar,plugin.properties,about.html
-javadoc.packages=org.eclipse.core.runtime.*
diff --git a/bundles/org.eclipse.core.runtime/doc/hglegal.htm b/bundles/org.eclipse.core.runtime/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/bundles/org.eclipse.core.runtime/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +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">

-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm b/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
deleted file mode 100644
index b8c411f..0000000
--- a/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
+++ /dev/null
@@ -1,14 +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">

-  <LINK REL="STYLESHEET" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">

-  <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. and others 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif b/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif b/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
deleted file mode 100644
index e38277e..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
+++ /dev/null
@@ -1,27 +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>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>Core Runtime Plug-in</h1></center>
-This document lists all of the extension points that the core runtime makes available to tool developers.
-<p>
-<hr WIDTH="100%">
-<h1>
-General Extension Points</h1>
-The following extension points can be used to extend the fundamental capabilities
-of the runtime plug-in:
-<ul>
-<li>
-<a href="org_eclipse_core_runtime_applications.html">org.eclipse.core.runtime.applications</a></li>
-
-<li>
-<a href="org_eclipse_core_runtime_urlHandlers.html">org.eclipse.core.runtime.urlHandlers</a></li>
-</ul>
-<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
deleted file mode 100644
index 77982c7..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
+++ /dev/null
@@ -1,65 +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>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-Applications</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.core.runtime.applications<p><b><i>Description:
-</i></b>Platform runtime supports plug-ins which would like to declare main
-entry points.&nbsp; That is, programs which would like to run using the platform
-runtime but yet control all aspects of execution can declare themselves as an <i>application</i>.&nbsp;
-Declared applications can be run directly from the main platform launcher by
-specifying the <i>-application</i> argument where the parameter is the id of an
-extension supplied to the applications extension point described here.&nbsp;
-This application is instantiated and run by the platform.&nbsp; Platform clients
-can also use the platform to lookup and run multiple applications.&nbsp;&nbsp;
-<p><b><i>Configuration Markup:</i></b>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT application run?></tt>
-<p>
-<tt>&nbsp;&nbsp; &lt;!ELEMENT run parameter*></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST run</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>class -</b> the fully-qualified name of a class which implements&nbsp; <tt>org.eclipse.core.boot.IPlatformRunnable</tt>.</li>
-</ul>
-<tt>&nbsp;&nbsp; &lt;!ELEMENT parameter EMPTY></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST parameter</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>name</b> - the name of this parameter made available to instances of
-the specified application class</li>
-
-<li>
-<b>value</b> - an arbitrary value associated with the given name and made
-available to instances of the specified application class</li>
-</ul>
-<b><i>Examples:</i></b>
-<p>Following is an example of a builder configuration:
-<p><tt>&nbsp;&nbsp; &lt;extension id=&quot;coolApplication&quot; point=&quot;org.eclipse.core.runtime.applications&quot;&gt;</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;application&gt;</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;run class=&quot;com.xyz.applications.Cool&quot;&gt;</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;parameter name="optimize" value="true"/></tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/run></tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/application&gt;</tt>
-<br><tt>&nbsp;&nbsp; &lt;/extension></tt>
-<p><b><i>API Information</i>: </b>The value of the <tt>class</tt> attribute
-must represent an implementor of <tt>org.eclipse.core.boot.IPlatformRunnable</tt>.
-<p><b><i>Supplied Implementation:</i></b> The platform itself supplies a number
-of applications including the platform workbench itself.
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
deleted file mode 100644
index 7ea1e96..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
+++ /dev/null
@@ -1,45 +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">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; U) [Netscape]">
-   <title>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-URL Stream Handlers</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.core.runtime.urlHandlers
-<p><b><i>Description:
-</i></b>This extension point is used to register
-additional URL handlers to the platform search path. Note, that because
-of the platform class loader structure, URL handlers registered by a plug-in
-using the standard Java mechanisms will not be found.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT handler EMPTY></tt>
-<p><tt>&nbsp;&nbsp; &lt;!ATTLIST handler</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protocol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>protocol -</b> URL protocol</li>
-
-<li>
-<b>class</b> - URL stream handler contributed by plug-in</li>
-</ul>
-<b><i>Examples:</i></b>
-<p>Following is an example of a handler configuration:
-<p><tt>&nbsp;&nbsp; &lt;extension point="org.eclipse.core.runtime.urlHandlers"></tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;handler protocol="foo" class="org.eclipse.handlers.FooHandler"/></tt>
-<br><tt>&nbsp;&nbsp; &lt;/extension></tt>
-<p><b><i>API Information</i>: </b>The value of the <tt>class</tt> attribute
-must represent an implementor of implementation of <tt>java.net.URLStreamHandler</tt>
-<p><b><i>Supplied Implementation:</i></b> The platform itself does not
-supply any URL handlers registered through this extension point..
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html b/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
deleted file mode 100644
index 1d2826a..0000000
--- a/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
+++ /dev/null
@@ -1,78 +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>Plug-in manifest dtd</title>
-</head>
-
-<body lang="EN-US" style='tab-interval:.5in'>
-
-<div class=Section1><pre>&lt;?xml encoding=&quot;US-ASCII&quot;?&gt;</pre>
-<pre><p>
-&lt;!ELEMENT plugin (requires?, runtime?, extension-point*, extension*)&gt;
-&lt;!ATTLIST plugin
- name                CDATA #REQUIRED
- id                  CDATA #REQUIRED
- version             CDATA #REQUIRED
- provider-name       CDATA #IMPLIED
- class               CDATA #IMPLIED
-&gt;</p></pre>
-<pre><p>
-&lt;!ELEMENT fragment (requires?, runtime?, extension-point*, extension*)&gt;
-&lt;!ATTLIST fragment
- name                CDATA #REQUIRED
- id                  CDATA #REQUIRED
- version             CDATA #REQUIRED
- provider-name       CDATA #IMPLIED
- plugin-id           CDATA #REQUIRED
- plugin-version      CDATA #REQUIRED
- match               (perfect | equivalent | compatible | greaterOrEqual) &quot;compatible&quot;
-&gt;
-</p></pre><pre><p>
-&lt;!ELEMENT requires (import+)&gt;
-&lt;!ELEMENT import EMPTY&gt;
-&lt;!ATTLIST import
- plugin              CDATA #REQUIRED
- version             CDATA #IMPLIED
- match               (perfect | equivalent | compatible | greaterOrEqual) &quot;compatible&quot;
- export              (true | false) &quot;false&quot;
- optional            (true | false) &quot;false&quot;
-&gt;
-</p></pre><pre><p>
-&lt;!ELEMENT runtime library+)&gt;</p></pre>
-<pre><p>
-&lt;!ELEMENT library (export*)&gt;
-&lt;!ELEMENT export EMPTY&gt;
-&lt;!ATTLIST library
- name                CDATA #REQUIRED
- type                (code | resource) &quot;code&quot;
-&gt;
-</p></pre><pre><p>
-&lt;!ELEMENT export EMPTY&gt;
-&lt;!ATTLIST export
- name                CDATA #REQUIRED
-&gt;
-</p></pre><pre><p>
-&lt;!ELEMENT extension-point EMPTY&gt;
-&lt;!ATTLIST extension-point
- name                CDATA #REQUIRED
- id                  CDATA #REQUIRED
- schema              CDATA #IMPLIED
-&gt;
-</p></pre><pre><p>
-&lt;!ELEMENT extension ANY&gt;
-&lt;!ATTLIST extension
- point               CDATA #REQUIRED
- name                CDATA #IMPLIED
- id                  CDATA #IMPLIED
-&gt;</p></pre>
-
-<p>&nbsp;<br>
-<a href="hglegal2002.htm"><img src = "ngibmcpy2002.gif" alt="Copyright IBM Corporation and others 2000, 2002" border="0"></a>
-</p></div>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html b/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
deleted file mode 100644
index 59d7787..0000000
--- a/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
+++ /dev/null
@@ -1,402 +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">
-<link REL="STYLESHEET" HREF="../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-<title>Plug-in manifest</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h1> Eclipse Platform<br>
-Plug-in Manifest</h1>
-
-<p class=MsoNormal><span style='font-size:10.0pt'>Version 2.0 - Last revised July
-11, 2002</span></p>
-
-<p>The manifest markup definitions below make use of various naming tokens and
-identifiers. To eliminate ambiguity, here are some production rules for these [are
-referenced in text below]. In general, all identifiers are case-sensitive. </p>
-
-<pre>SimpleToken := sequence of characters from ('a-z','A-Z','0-9')&nbsp;
-ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken)&nbsp;
-JavaClassName := ComposedToken&nbsp;
-PlugInId := ComposedToken
-PlugInPrereq := PlugInId | 'export' PlugInId&nbsp;
-ExtensionId := SimpleToken&nbsp;
-ExtensionPointId := SimpleToken&nbsp;
-ExtensionPointReference := ExtensionPointID | (PlugInId '.' ExtensionPointId)</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-remainder of this section describes the plugin.xml file structure as a series
-of DTD fragments. File <a href="plugin_dtd.html">plugin.dtd</a> presents the DTD
-definition in its entirety. </p>
-
-<pre>&lt;?xml encoding=&quot;US-ASCII&quot;?&gt;&nbsp;
-&lt;!ELEMENT plugin (requires?, runtime?, extension-point*, extension*)&gt;&nbsp;
-&lt;!ATTLIST plugin&nbsp;
-&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&nbsp; version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&nbsp; provider-name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED
-&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED&nbsp;
-&gt;</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;plugin&gt; element defines the body of the manifest. It optionally contains
-definitions for the plug-in runtime, definitions of other plug-ins required by
-this one, declarations of any new extension points being introduced by the
-plug-in, as well as configuration of functional extensions (configured into
-extension points defined by other plug-ins, or introduced by this plug-in).
-&lt;plugin&gt; attributes are as follows: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>name</b> - user
-     displayable (translatable) name for the plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>id</b> - unique identifier
-     for the plug-in.</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>To minimize potential
-      for naming collisions, the identifier should be derived from the internet
-      domain id of the supplying provider (reversing the domain name tokens and
-      appending additional name tokens separated by dot [.]). For example,
-      provider ibm.com could define plug-in identifier com.ibm.db2</li>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>[production rule:
-      PlugInId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>version </b>- plug-in
-     version number. See org.eclipse.core.runtime.PluginVersionIdentifier for
-     details. Plug-in version format is <b>major.minor.service.qualifier</b>.
-     Change in the major component is interpreted as an incompatible version
-     change. Change in the minor component is interpreted as a compatible
-     version change. Change in the service component is interpreted as <i>cumulative</i>
-     service applied to the minor version.<span style="mso-spacerun:
-     yes">&nbsp; </span>Change in the qualifier component is interpreted as
-     different source code control version of the same component.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>provider-name</b> <b>-</b>
-     user-displayable name of the provider supplying the plug-in.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>class - </b>name of the
-     plug-in class for this plug-in. The class must be a subclass of
-     org.eclipse.core.runtime.Plugin.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-XML DTD construction rule <tt><i><span style='font-size:10.0pt;font-family:
-"Courier New"'>element</span></i></tt><tt><span style='font-size:10.0pt;
-font-family:"Courier New"'>*</span></tt> means zero or more occurrences of the
-element; <tt><i><span style='font-size:10.0pt;font-family:"Courier New"'>element</span></i></tt><tt><span
-style='font-size:10.0pt;font-family:"Courier New"'>?</span></tt> means zero or
-one occurrence of the element; and <tt><i><span style='font-size:10.0pt;
-font-family:"Courier New"'>element</span></i></tt><tt><span style='font-size:
-10.0pt;font-family:"Courier New"'>+</span></tt> (used below) means one or more
-occurrences of the element. Based on the &lt;plugin&gt; definition above, this
-means, for example, that a plug-in containing only a run-time definition and no
-extension point declarations or extension configurations is valid (for example,
-common libraries that other plug-ins depend on). Similarly, a plug-in
-containing only extension configurations and no runtime or extension points of
-its own is also valid (for example, configuring classes delivered in other
-plug-ins into extension points declared in other plug-ins). </p>
-
-<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;requires&gt; section of the manifest declares any dependencies on other
-plug-ins. </p>
-
-<pre>&lt;!ELEMENT requires (import+)&gt;
-&lt;!ELEMENT import EMPTY&gt;
-&lt;!ATTLIST import
-&nbsp;plugin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED
-&nbsp;version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED
- match<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(perfect | equivalent | compatible | greaterOrEqual) &quot;compatible&quot;
-&nbsp;export&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (true | false) &quot;false&quot;
-&nbsp;optional&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (true | false) &quot;false&quot;
-&gt;</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each
-dependency is specified using an &lt;import&gt; element. It contains the
-following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>plugin</b> - identifier of
-     the required plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>version</b> - optional
-     version specification</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>match</b> - version
-     matching rule. Ignored if version attribute is not specified. Determines
-     whether the dependency is satisfied only with a plug-in<span
-     style="mso-spacerun: yes">&nbsp; </span>that has this exact<span
-     style="mso-spacerun: yes">&nbsp; </span>specified version, with a plug-in
-     that has a service or qualifier more recent than this one, with any
-     compatible version (including a more recent minor version of the plug-in)
-     or with any more recent version of this plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>export</b> - specifies
-     whether the dependent plug-in classes are made visible (are (re)exported)
-     to users of this plug-in. By default, dependent classes are not exported
-     (are not made visible)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>optional</b> - specifies
-     whether or not this dependency will be strictly enforced.<span
-     style="mso-spacerun: yes">&nbsp; </span>If set to &lt;true&gt; and this
-     dependency cannot be satisfied, the dependency will be ignored</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
-name=runtime></a>The &lt;runtime&gt; section of the manifest contains a
-definition of one or more libraries that make up the plug-in runtime. The
-referenced libraries are used by the platform execution mechanisms (the plug-in
-class loader) to load and execute the correct code required by the plug-in. </p>
-
-<pre>&lt;!ELEMENT runtime (library+)&gt;&nbsp;
-&lt;!ELEMENT library (export*)&gt;
-&lt;!ATTLIST library&nbsp;
-  name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-<span style="mso-spacerun: yes">&nbsp; </span>type<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(code | resource) &quot;code&quot;
-&gt;
-&lt;!ELEMENT export EMPTY&gt;&nbsp;
-&lt;!ATTLIST export
-&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&gt;</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;runtime&gt; element has no attributes. </p>
-
-<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;library&gt; elements collectively define the plug-in runtime. At least one
-&lt;library&gt; must be specified. Each &lt;library&gt; element has the
-following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo9;tab-stops:list .5in'><b>name - </b>string
-     reference to a library file or directory containing classes (relative to
-     the plug-in install directory). Directory references must contain trailing
-     file separator.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo9;tab-stops:list .5in'><b>type</b> - specifies
-     whether this library contains executable code (&lt;code&gt;) or just
-     resources.<span style="mso-spacerun: yes">&nbsp; </span>If the library is
-     of type &lt;code&gt; accessing anything in this library will cause activation of
-     the plug-in.<span style="mso-spacerun: yes">&nbsp; </span>Accessing a
-     &lt;resource&gt; will not cause plug-in activation (a potential for significant
-     performance improvement).<span style="mso-spacerun: yes">&nbsp; </span>It
-     should be noted that specifying a library of type &lt;code&gt; allows it to
-     contain both code and resources.<span style="mso-spacerun: yes">&nbsp;
-     </span>But specifying a library of type &lt;resource&gt; assumes it will only be
-     used for resources.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each
-&lt;library&gt; element can specify which portion of the library should be
-exported. The export rules are specified as a set of export masks. By default
-(no export rules specified), the library is considered to be private. The
-&lt;export&gt; elements have the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>name - s</b>pecifies the
-     export mask. Valid values are:</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l5 level2 lfo12;tab-stops:list 1.0in'><b>*</b> - indicates
-      all contents of library are exported (public)</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>package-name</b></li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l5 level2 lfo12;tab-stops:list 1.0in'><b>* - </b>indicates
-      all classes in the specified package are exported. The matching rules are
-      the same as in the Java import statement.</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>class-name - </b>fully
-     qualified java class name</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-platform's architecture is based on the notion of configurable extension
-points. The platform itself predefines a set of extension points that cover the
-task of extending the platform and desktop (for example, adding menu actions,
-contributing embedded editor). In addition to the predefined extension points,
-each supplied plug-in can declare additional extension points. By declaring an
-extension point the plug-in is essentially advertising the ability to configure
-the plug-in function with externally supplied extensions. For example, the Page
-Builder plug-in may declare an extension point for adding new Design Time
-Controls (DTCs) into its builder palette. This means that the Page Builder has
-defined an architecture for what it means to be a DTC and has implemented the
-code that looks for DTC extensions that have been configured into the extension
-points. </p>
-
-<pre>&lt;!ELEMENT extension-point EMPTY&gt;&nbsp;&nbsp;
-&lt;!ATTLIST extension-point&nbsp;
-&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp; schema&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED&nbsp;
-&gt;</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;extension-point&gt; element has the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>name - </b>user-displayable
-     (translatable) name for the extension point</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>id - </b>simple id token,
-     unique within this plug-in. The token cannot contain dot (.) or
-     whitespace.</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l3 level2 lfo15;tab-stops:list 1.0in'>[production rule:
-      ExtensionPointId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>schema</b> - schema
-     specification for this extension point. The exact details are being
-     defined as part of the Plug-In Development Environment (PDE). The schema
-     is currently not used at runtime. The reference is a file name relative to
-     the plug-in installation location.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Actual
-extensions are configured into extension points (predefined, or newly declared
-in this plug-in) in the &lt;extension&gt; section. The configuration
-information is specified as well-formed XML contained between the &lt;extension&gt;
-and &lt;/extension&gt; tags. The platform does not specify the actual form of
-the configuration markup (other than requiring it to be well-formed XML). The
-markup is defined by the supplier of the plug-in that declared the extension
-point. The platform does not actually interpret the configuration markup. It
-simply passes the configuration information to the plug-in as part of the
-extension point processing (at the time the extension point logic queries all
-of its configured extensions). </p>
-
-<pre>&lt;!ELEMENT extension ANY&gt;&nbsp;
-&lt;!ATTLIST extension&nbsp;
-&nbsp; point&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED&nbsp;
-&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED&nbsp;
-&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #IMPLIED&nbsp;
-&gt;</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-&lt;extension&gt; element has the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>point - </b>reference to
-     an extension point being configured. The extension point can be one
-     defined in this plug-in or another plug-in</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l4 level2 lfo18;tab-stops:list 1.0in'>[production rule:
-      ExtensionPointReference]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>id - </b>optional
-     identifier for this extension point configuration instance. This is used
-     by extension points that need to uniquely identify (rather than just
-     enumerate) the specific configured extensions. The identifier is specified
-     as a simple token unique within the definition of the declaring plug-in.
-     When used globally, the extension identifier is qualified by the plug-in
-     identifier</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l4 level2 lfo18;tab-stops:list 1.0in'>[production rule:
-      ExtensionId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>name - </b>user-displayable
-     (translatable) name for the extension</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b>Important:</b>
-The content of the &lt;extension&gt; element is declared using the <tt><span
-style='font-size:10.0pt;font-family:"Courier New"'>ANY</span></tt> rule. This
-means that any well-formed XML can be specified within the extension
-configuration section (between &lt;extension&gt; and &lt;/extension&gt; tags). </p>
-
-<pre><p></p></pre><pre><span
-style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman";
-mso-bidi-font-family:"Courier New"'>Fragments are used to increase the scope of a plug-in.<span style="mso-spacerun: yes">&nbsp; </span>An example would be to incorporate data such as messages or labels in another language.<p></p></span></pre><pre><p></p></pre><pre>&lt;?xml encoding=&quot;US-ASCII&quot;?&gt;&nbsp;
-&lt;!ELEMENT fragment (requires?, runtime?, extension-point*, extension*)&gt;
-&lt;!ATTLIST fragment
-&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED
-&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED
-&nbsp; version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDATA #REQUIRED
-&nbsp; provider-name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED
-<span style="mso-spacerun: yes">&nbsp; </span>plugin-id<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CDATA #REQUIRED
-<span style="mso-spacerun: yes">&nbsp; </span>plugin-version<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CDATA #REQUIRED
-<span style="mso-spacerun: yes">&nbsp; </span>match<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(perfect | equivalent | compatible | greaterOrEqual) &quot;compatible&quot;
-&gt;</pre>
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each fragment must be associated with a specific plug-in.  
-The associated plug-in is identified with &lt;plugin-id&gt;, &lt;plugin-version&gt; and optionally, &lt;match&gt;.  
-Note that if this specification matches more than one plug-in, the matching plug-in with the highest version number will be used.<p></p>
-The &lt;requires&gt;, &lt;runtime&gt;, &lt;extension-point&gt;, and &lt;extension&gt; components of a fragment will be logically added to the matching plug-in.<p></p>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&lt;fragment&gt;
-attributes are as follows: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>name</b> - user
-     displayable (translatable) name for the fragment</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>id</b> - unique identifier
-     for the fragment.</li>
- <ul type=circle>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>To minimize potential
-      for naming collisions, the identifier should be derived from the id of
-      the associated plug-in in addition to something which identifies the
-      scope of this fragment.<span style="mso-spacerun: yes">&nbsp; </span>For
-      example, org.eclipse.core.runtime.nl1 could define a natural language fragment
-      for the org.eclipse.core.runtime plug-in</li>
-  <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
-      auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>[production rule:
-      PlugInId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>version </b>- fragment
-     version number. See org.eclipse.core.runtime.PluginVersionIdentifier for
-     details. Fragment version format is the same as plug-in version format.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>provider-name</b> <b>-</b>
-     user-displayable name of the provider supplying the fragment.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>plugin-</b><b
-     style='mso-bidi-font-weight:normal'>id</b> - matches the id of the
-     associated plug-in<b style='mso-bidi-font-weight:normal'><p></p></b></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>plugin-</b><b
-     style='mso-bidi-font-weight:normal'>version</b> - matches the version of
-     the associated plug-in<b style='mso-bidi-font-weight:normal'><p></p></b></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>match</b><span
-     style='mso-bidi-font-weight:bold'>  - the matching rule used to find an
-     associated plug-in using &lt;plugin-id&gt; and
-     &lt;plugin-version&gt;.<span style="mso-spacerun: yes">&nbsp; </span>See
-     the definition of &lt;match&gt; in the &lt;requires&gt; clause for
-     complete details.</span><b style='mso-bidi-font-weight:normal'><p></p></b></li>
-</ul>
-
-<p>&nbsp;<br>
-<a href="hglegal2002.htm"><img src = "ngibmcpy2002.gif" alt="Copyright IBM Corporation and others 2000, 2002" border="0"></a>
-</p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.core.runtime/plugin.properties b/bundles/org.eclipse.core.runtime/plugin.properties
deleted file mode 100644
index 0ecbe9a..0000000
--- a/bundles/org.eclipse.core.runtime/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName = Core Runtime
-providerName = Eclipse.org
-applicationsName = Applications
-handlersName = URL Stream Handlers
diff --git a/bundles/org.eclipse.core.runtime/plugin.xml b/bundles/org.eclipse.core.runtime/plugin.xml
deleted file mode 100644
index 9c747f9..0000000
--- a/bundles/org.eclipse.core.runtime/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="%pluginName"
-  id="org.eclipse.core.runtime"
-  version="2.1.0"
-  provider-name="%providerName">
-
-  <runtime>
-    <library name="runtime.jar">
-      <export name="*"/>
-      <packages prefixes="org.eclipse.core"/>
-    </library>
-  </runtime>
-
-  <requires>
-    <import plugin="org.apache.xerces" version="4.0.7" match="equivalent"/>
-  </requires>
-
-  <extension-point name="%applicationsName" id="applications" schema="schema/applications.mxsd"/>
-  <extension-point name="%handlersName" id="urlHandlers" schema="schema/urlHandlers.mxsd"/>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.runtime/schema/applications.mxsd b/bundles/org.eclipse.core.runtime/schema/applications.mxsd
deleted file mode 100644
index 4761aaf..0000000
--- a/bundles/org.eclipse.core.runtime/schema/applications.mxsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.core.runtime">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.core.runtime" id="applications" name="Applications"/>

-   </appInfo>

-   <documentation>

-      Platform runtime supports plug-ins which would like to 
-declare main entry points.  That is, programs which 
-would like to run using the platform runtime but yet 
-control all aspects of execution can declare themselves 
-as an application.  Declared applications can be run 
-directly from the main platform launcher by specifying 
-the &lt;i&gt;-application&lt;/i&gt; argument where the parameter 
-is the id of an extension supplied to the 
-applications extension point described here.  
-This application is instantiated and run by the platform.  
-Platform clients can also use the platform to lookup and 
-run multiple applications.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="application"/>

-         </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="application">

-      <complexType>

-         <sequence>

-            <element ref="run" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-      </complexType>

-   </element>

-

-   <element name="run">

-      <complexType>

-         <sequence>

-            <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the fully-qualified name of a class which implements 
-&lt;samp&gt;org.eclipse.core.runtime.IPlatformRunnable&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.core.boot.IPlatformRunnable"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="parameter">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of this parameter made available to instances of the specified application class

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of this parameter made available to instances of the specified application class

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of a builder configuration: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension id="coolApplication" point="org.eclipse.core.runtime.applications"&gt; 
-      &lt;application&gt; 
-         &lt;run class="com.xyz.applications.Cool"&gt; 
-            &lt;parameter name="optimize" value="true"/&gt; 
-         &lt;/run&gt; 
-      &lt;/application&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must represent an 
-implementor of 
-&lt;samp&gt;org.eclipse.core.runtime.IPlatformRunnable&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The platform itself supplies a number of applications including the platform workbench itself.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;

-Copyright (c) 2002 IBM Corporation and others.

-All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at &lt;a href="http://www.eclipse.org/legal/cpl-v10.html"&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd b/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
deleted file mode 100644
index 70f9551..0000000
--- a/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.core.runtime">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.core.runtime" id="urlHandlers" name="URL Stream Handlers"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register additional 
-URL handlers to the platform search path. 
-Note, that because of the platform class loader 
-structure, URL handlers registered by a plug-in using 
-the standard Java mechanisms will not be found.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="handler" minOccurs="0" 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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="handler">

-      <complexType>

-         <attribute name="protocol" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="java.net.URLStreamHandler"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of a handler configuration: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.core.runtime.urlHandlers"&gt; 
-      &lt;handler protocol="foo" class="org.eclipse.handlers.FooHandler"/&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must represent an 
-implementor of implementation of 
-&lt;samp&gt;java.net.URLStreamHandler&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The platform itself does not supply any URL handlers 
-registered through this extension point.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at &lt;a href="http://www.eclipse.org/legal/cpl-v10.html"&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
deleted file mode 100644
index 8a57568..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import java.util.*;
-
-public class ConfigurationElement extends ConfigurationElementModel implements IConfigurationElement {
-  public ConfigurationElement()
-  {
-	super();
-  }  
-public Object createExecutableExtension(String attributeName) throws CoreException {
-	String prop = null;
-	String executable;
-	String pluginName = null;
-	String className = null;
-	Object initData = null;
-	int i;
-
-	if (attributeName != null)
-		prop = getAttribute(attributeName);
-	else {
-		// property not specified, try as element value
-		prop = getValue();
-		if (prop != null) {
-			prop = prop.trim();
-			if (prop.equals("")) //$NON-NLS-1$
-				prop = null;
-		}
-	}
-
-	if (prop == null) {
-		// property not defined, try as a child element
-		IConfigurationElement[] exec;
-		IConfigurationElement[] parms;
-		IConfigurationElement element;
-		Hashtable initParms;
-		String pname;
-
-		exec = getChildren(attributeName);
-		if (exec.length != 0) {
-			element = exec[0]; // assumes single definition
-			pluginName = (String) element.getAttribute("plugin"); //$NON-NLS-1$
-			className = (String) element.getAttribute("class"); //$NON-NLS-1$
-			parms = element.getChildren("parameter"); //$NON-NLS-1$
-			if (parms != null) {
-				initParms = new Hashtable(parms.length + 1);
-				for (i = 0; i < parms.length; i++) {
-					pname = (String) parms[i].getAttribute("name"); //$NON-NLS-1$
-					if (pname != null)
-						initParms.put(pname, parms[i].getAttribute("value")); //$NON-NLS-1$
-				}
-				if (!initParms.isEmpty())
-					initData = initParms;
-			}
-		}
-
-		// specified name is not a simple attribute nor child element
-		else {
-			String message = Policy.bind("plugin.extDefNotFound", attributeName); //$NON-NLS-1$
-			IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
-			logError(status);
-			throw new CoreException(status);
-		}
-	} else {
-		// simple property or element value, parse it into its components
-		i = prop.indexOf(':');
-		if (i != -1) {
-			executable = prop.substring(0, i).trim();
-			initData = prop.substring(i + 1).trim();
-		} else
-			executable = prop;
-
-		i = executable.indexOf('/');
-		if (i != -1) {
-			pluginName = executable.substring(0, i).trim();
-			className = executable.substring(i + 1).trim();
-		} else
-			className = executable;
-	}
-
-	if (className == null || className.equals("")) { //$NON-NLS-1$
-		String message = Policy.bind("plugin.extDefNoClass", attributeName ); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
-		logError(status);
-		throw new CoreException(status);
-	}
-
-	IPluginDescriptor plugin = getDeclaringExtension().getDeclaringPluginDescriptor();
-	return ((PluginDescriptor) plugin).createExecutableExtension(pluginName, className, initData, this, attributeName);
-}
-public String getAttribute(String name) {
-
-	String s = getAttributeAsIs(name);	
-	return s==null ? null : getDeclaringExtension().getDeclaringPluginDescriptor().getResourceString(s);
-}
-public String getAttributeAsIs(String name) {
-	ConfigurationPropertyModel[] list = (ConfigurationPropertyModel[]) getProperties();
-	if (list == null)
-		return null;
-	for (int i = 0; i < list.length; i++)
-		if (name.equals(list[i].getName()))
-			return list[i].getValue();
-	return null;
-}
-public String[] getAttributeNames() {
-	ConfigurationPropertyModel[] list = getProperties();
-	if (list == null)
-		return new String[0];
-	String[] result = new String[list.length];
-	for (int i = 0; i < list.length; i++)
-		result[i] = list[i].getName();
-	return result;
-}
-public IConfigurationElement[] getChildren() {
-	ConfigurationElementModel[] list = getSubElements();
-	if (list == null)
-		return new IConfigurationElement[0];
-	IConfigurationElement[] newValues = new IConfigurationElement[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-public IConfigurationElement[] getChildren(String name) {
-	ConfigurationElementModel[] list = getSubElements();
-	if (list == null)
-		return new IConfigurationElement[0];
-	ArrayList children = new ArrayList();
-	for (int i = 0; i < list.length; i++) {
-		ConfigurationElementModel	element = list[i];
-		if (name.equals(element.getName()))
-			children.add(list[i]);
-	}
-	return (IConfigurationElement[]) children.toArray(new IConfigurationElement[children.size()]);
-}
-public IExtension getDeclaringExtension() {
-	return (IExtension) getParentExtension();
-}
-public String getValue() {
-	String s = getValueAsIs();
-	return s == null ? null : getDeclaringExtension().getDeclaringPluginDescriptor().getResourceString(s);
-}
-private void logError(IStatus status) {
-	InternalPlatform.getRuntimePlugin().getLog().log(status);
-	if (InternalPlatform.DEBUG)
-		System.out.println(status.getMessage());
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
deleted file mode 100644
index b697452..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.model.ConfigurationPropertyModel;
-
-public class ConfigurationProperty extends ConfigurationPropertyModel {
-public ConfigurationProperty() {
-	super();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
deleted file mode 100644
index 94eac7b..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-/**
- * Dummy plugin runtime class implementation
- */
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-public class DefaultPlugin extends Plugin {
-
-public DefaultPlugin(IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
deleted file mode 100644
index c6f0ad9..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.ConfigurationElementModel;
-import org.eclipse.core.runtime.model.ExtensionModel;
-
-public class Extension extends ExtensionModel implements IExtension {
-	// this extension's elements data offset in the registry cache
-	private int subElementsCacheOffset;
-	// is this extension already fully loaded?
-	private boolean fullyLoaded = true;
-
-public IConfigurationElement[] getConfigurationElements() {
-	ConfigurationElementModel[] list = getSubElements();
-	if (list == null)
-		return new IConfigurationElement[0];
-	IConfigurationElement[] newValues = new IConfigurationElement[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-public IPluginDescriptor getDeclaringPluginDescriptor() {
-	return (IPluginDescriptor) getParentPluginDescriptor();
-}
-public String getExtensionPointUniqueIdentifier() {
-	return getExtensionPoint();
-}
-public String getLabel() {
-	String s = getName();
-	return s == null ? "" : ((PluginDescriptor) getDeclaringPluginDescriptor()).getResourceString(s); //$NON-NLS-1$
-}
-public String getSimpleIdentifier() {
-	return getId();
-}
-public String getUniqueIdentifier() {
-	String simple = getSimpleIdentifier();
-	if (simple == null)
-		return null;
-	return getParentPluginDescriptor().getId() + "." + simple; //$NON-NLS-1$
-}
-public String toString() {
-	return getParent().getPluginId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-int getSubElementsCacheOffset() {
-	return subElementsCacheOffset;
-}
-void setSubElementsCacheOffset(int subElementsCacheOffset) {
-	this.subElementsCacheOffset = subElementsCacheOffset;
-}
-public boolean isFullyLoaded() {
-	return fullyLoaded;
-}
-public void setFullyLoaded(boolean fullyLoaded) {
-	this.fullyLoaded = fullyLoaded;
-}
-public ConfigurationElementModel[] getSubElements() {
-	// maybe it was lazily loaded
-	if (!fullyLoaded)
-		((PluginRegistry)this.getParent().getRegistry()).loadConfigurationElements(this);
-	return super.getSubElements();
-}
-/**
- * Overridden to relax read-only contraints and allow lazy loading of read-only
- * extensions.
- * @see org.eclipse.core.runtime.model.PluginModelObject#assertIsWriteable
- */
-protected void assertIsWriteable() {
-	if (fullyLoaded)
-		super.assertIsWriteable();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
deleted file mode 100644
index 1f6c806..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class ExtensionPoint extends ExtensionPointModel implements IExtensionPoint {
-  public ExtensionPoint()
-  {
-	super();
-  }  
-public IConfigurationElement[] getConfigurationElements() {
-	ExtensionModel[] list = getDeclaredExtensions();
-	if (list == null)
-		return new IConfigurationElement[0];
-	ArrayList result = new ArrayList();
-	for (int i = 0; i < list.length; i++) {
-		ConfigurationElementModel[] configs = list[i].getSubElements();
-		if (configs != null)
-			for (int j = 0; j < configs.length; j++)
-				result.add(configs[j]);
-	}
-	return (IConfigurationElement[]) result.toArray(new IConfigurationElement[result.size()]);
-}
-public IPluginDescriptor getDeclaringPluginDescriptor() {
-	return (IPluginDescriptor) getParentPluginDescriptor();
-}
-public IExtension getExtension(String id) {
-	if (id == null)
-		return null;
-	ExtensionModel[] list = getDeclaredExtensions();
-	if (list == null)
-		return null;
-	for (int i = 0; i < list.length; i++) {
-		if (id.equals(((Extension) list[i]).getUniqueIdentifier()))
-			return (IExtension) list[i];
-	}
-	return null;
-}
-public IExtension[] getExtensions() {
-	ExtensionModel[] list = getDeclaredExtensions();
-	if (list == null)
-		return new IExtension[0];
-	IExtension[] newValues = new IExtension[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-public String getLabel() {
-	String s = getName();
-	return s == null ? "" : ((PluginDescriptor) getDeclaringPluginDescriptor()).getResourceString(s); //$NON-NLS-1$
-}
-public java.lang.String getSchemaReference() {
-	String s = getSchema();
-	return s == null ? "" : s.replace(File.separatorChar, '/'); //$NON-NLS-1$
-}
-public String getSimpleIdentifier() {
-	return getId();
-}
-public String getUniqueIdentifier() {
-	return getParentPluginDescriptor().getId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-public String toString() {
-	return getParent().getPluginId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
deleted file mode 100644
index a62aaa1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
deleted file mode 100644
index 08fd92f..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-public interface IModel {
-
-	public static final int INDENT = 2;
-	public static final int RADIX = 36;
-
-	public static final String TRUE = "true"; //$NON-NLS-1$
-	public static final String FALSE = "false"; //$NON-NLS-1$
-
-	public static final String REGISTRY = "plugin-registry"; //$NON-NLS-1$
-	public static final String REGISTRY_PATH = "path"; //$NON-NLS-1$
-
-	public static final String FRAGMENT = "fragment"; //$NON-NLS-1$
-	public static final String FRAGMENT_ID = "id"; //$NON-NLS-1$
-	public static final String FRAGMENT_NAME = "name"; //$NON-NLS-1$
-	public static final String FRAGMENT_PROVIDER = "provider-name"; //$NON-NLS-1$
-	public static final String FRAGMENT_VERSION = "version"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_ID = "plugin-id"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_MATCH = "match"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_MATCH_PERFECT = "perfect"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_MATCH_EQUIVALENT = "equivalent"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_MATCH_COMPATIBLE = "compatible"; //$NON-NLS-1$
-	public static final String FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL = "greaterOrEqual"; //$NON-NLS-1$
-
-	public static final String PLUGIN = "plugin"; //$NON-NLS-1$
-	public static final String PLUGIN_ID = "id"; //$NON-NLS-1$
-	public static final String PLUGIN_NAME = "name"; //$NON-NLS-1$
-	public static final String PLUGIN_VENDOR = "vendor-name"; //$NON-NLS-1$
-	public static final String PLUGIN_PROVIDER = "provider-name"; //$NON-NLS-1$
-	public static final String PLUGIN_VERSION = "version"; //$NON-NLS-1$
-	public static final String PLUGIN_CLASS = "class"; //$NON-NLS-1$
-
-	public static final String PLUGIN_REQUIRES = "requires"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_PLATFORM = "platform-version"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_PLUGIN = "plugin"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_PLUGIN_VERSION = "version"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_OPTIONAL = "optional"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_IMPORT = "import"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_EXPORT = "export"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH = "match"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH_EXACT = "exact"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH_PERFECT = "perfect"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH_EQUIVALENT = "equivalent"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH_COMPATIBLE = "compatible"; //$NON-NLS-1$
-	public static final String PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL = "greaterOrEqual"; //$NON-NLS-1$
-
-	public static final String PLUGIN_KEY_VERSION_SEPARATOR = "_"; //$NON-NLS-1$
-
-	public static final String RUNTIME = "runtime"; //$NON-NLS-1$
-
-	public static final String LIBRARY = "library"; //$NON-NLS-1$
-	public static final String LIBRARY_NAME = "name"; //$NON-NLS-1$
-	public static final String LIBRARY_SOURCE = "source"; //$NON-NLS-1$
-	public static final String LIBRARY_TYPE = "type"; //$NON-NLS-1$
-	public static final String LIBRARY_EXPORT = "export"; //$NON-NLS-1$
-	public static final String LIBRARY_EXPORT_MASK = "name"; //$NON-NLS-1$
-	public static final String LIBRARY_PACKAGES = "packages"; //$NON-NLS-1$
-	public static final String LIBRARY_PACKAGES_PREFIXES = "prefixes"; //$NON-NLS-1$
-
-	public static final String EXTENSION_POINT = "extension-point"; //$NON-NLS-1$
-	public static final String EXTENSION_POINT_NAME = "name"; //$NON-NLS-1$
-	public static final String EXTENSION_POINT_ID = "id"; //$NON-NLS-1$
-	public static final String EXTENSION_POINT_SCHEMA = "schema"; //$NON-NLS-1$
-
-	public static final String EXTENSION = "extension"; //$NON-NLS-1$
-	public static final String EXTENSION_NAME = "name"; //$NON-NLS-1$
-	public static final String EXTENSION_ID = "id"; //$NON-NLS-1$
-	public static final String EXTENSION_TARGET = "point"; //$NON-NLS-1$
-
-	public static final String ELEMENT = "element"; //$NON-NLS-1$
-	public static final String ELEMENT_NAME = "name"; //$NON-NLS-1$
-	public static final String ELEMENT_VALUE = "value"; //$NON-NLS-1$
-
-	public static final String PROPERTY = "property"; //$NON-NLS-1$
-	public static final String PROPERTY_NAME = "name"; //$NON-NLS-1$
-	public static final String PROPERTY_VALUE = "value"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
deleted file mode 100644
index a28da13..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-public interface IPluginVisitor {
-public void visit(IPluginDescriptor descriptor);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
deleted file mode 100644
index d2f992f..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.model.*;
-
-public class InternalFactory extends Factory {
-public InternalFactory(MultiStatus status) {
-	super(status);
-}
-public ConfigurationElementModel createConfigurationElement() {
-	return new ConfigurationElement();
-}
-public ConfigurationPropertyModel createConfigurationProperty() {
-	return new ConfigurationProperty();
-}
-public ExtensionModel createExtension() {
-	return new Extension();
-}
-public ExtensionPointModel createExtensionPoint() {
-	return new ExtensionPoint();
-}
-
-
-
-public LibraryModel createLibrary() {
-	return new Library();
-}
-public PluginDescriptorModel createPluginDescriptor() {
-	return new PluginDescriptor();
-}
-
-public PluginFragmentModel createPluginFragment() {
-	return new FragmentDescriptor();
-}
-
-public PluginPrerequisiteModel createPluginPrerequisite() {
-	return new PluginPrerequisite();
-}
-public PluginRegistryModel createPluginRegistry() {
-	return new PluginRegistry();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
deleted file mode 100644
index a99366a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-
-public class Library extends LibraryModel implements ILibrary {
-  public Library()
-  {
-	super();
-  }  
-public String[] getContentFilters() {
-	if (!isExported() || isFullyExported())
-		return null;
-	return getExports();
-}
-public IPath getPath() {
-	return new Path(getName());
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
deleted file mode 100644
index 755e834..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.plugins;
-
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-
-/**
- * Plugin class loader.
- *
- * Handle loading of classes from a plugin. Configures load path based
- * on the plugin <runtime> specification. Configures delegate loaders
- * based on the <requires> specification. Configures
- * the parent loader to be the default instance of 
- * PlatformClassLoader (assumes to be initialized by this point).
- *
- */
-
-public final class PluginClassLoader extends DelegatingURLClassLoader {
-	private PluginDescriptor descriptor;
-	private boolean pluginActivationInProgress = false;
-	private boolean loadInProgress = false;
-	public static boolean usePackagePrefixes = true;
-
-public PluginClassLoader(URL[] codePath, URLContentFilter[] codeFilters, URL[] resourcePath, URLContentFilter[] resourceFilters, ClassLoader parent, PluginDescriptor descriptor) {
-	// create a class loader with the given classpath and filters.  Also, the parent
-	// should be the parent of the platform class loader.  This allows us to decouple standard
-	// parent loading from platform loading.
-	super(codePath, codeFilters, resourcePath, resourceFilters, parent);
-	this.descriptor = descriptor;
-	this.base = descriptor.getInstallURL();
-	this.prefixes = initializePrefixes(descriptor, getPrefixId());
-	debugConstruction(); // must have initialized loader
-
-	//	Note: initializeImportedLoaders() is called by PluginDescriptor.getPluginClassLoader().
-	//	The split between construction and initialization is needed
-	//	to correctly handle the case where the user defined loops in 
-	//	the prerequisite definitions.
-}
-public static String[] initializePrefixes(IPluginDescriptor descriptor, String prefixId) {
-	// use the classloader.properties file as an over-ride to what
-	// appears in the plugin.xml
-	if (InternalBootLoader.useClassLoaderProperties()) {
-		String list = (String) prefixTable.get(prefixId);
-		if (list == null)
-			return null;
-		// if there is an entry in the file but no value then treat that as
-		// a "don't use any package prefixes"
-		if (list.trim().length() == 0) {
-			if (DEBUG_PROPERTIES)
-				System.out.println("Clearing prefixes for: " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-			return null;
-		}
-		if (DEBUG_PROPERTIES)
-			System.out.println("Using prefixes for " + descriptor.getUniqueIdentifier() + " from classloader.properties: " + list); //$NON-NLS-1$ //$NON-NLS-2$
-		return getArrayFromList(list);
-	}
-
-	// setup the package prefixes to use
-	if (usePackagePrefixes) {
-		if (DEBUG_PACKAGE_PREFIXES)
-			System.out.println("Reading package prefixes for plug-in: " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-		// collect all of the package prefixes for all of the runtime entries in the plugin.xml
-		Set set = new HashSet(5);
-		ILibrary[] libraries = descriptor.getRuntimeLibraries();
-		for (int i = 0; libraries != null && i < libraries.length; i++) {
-			String[] entries = libraries[i].getPackagePrefixes();
-			for (int j=0; entries != null && j < entries.length; j++)
-				set.add(entries[j]);
-		}
-		String[] prefixes = null;
-		if (set.size() != 0)
-			prefixes = (String[]) set.toArray(new String[set.size()]);
-		if (DEBUG_PACKAGE_PREFIXES) {
-			String list = arrayToString(prefixes);
-			System.out.println("Using the following prefixes: " + list); //$NON-NLS-1$
-		}
-		return prefixes;
-	}
-	return null;
-}
-static String arrayToString(String[] array) {
-	if (array == null)
-		return null;
-	StringBuffer buffer = new StringBuffer();
-	for (int i=0; i<array.length; i++) {
-		buffer.append(array[i]);
-		if (i != array.length - 1)
-			buffer.append(',');
-	}
-	return buffer.toString();
-}
-protected void activatePlugin(String name) {
-	try {
-		// pluginActivationInProgress = true;
-		// the in-progress flag is set when we detect that activation will be required.
-		// be sure to unset it here.
-		if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
-			debug("Attempting to activate " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-		descriptor.doPluginActivation();
-	} catch (CoreException e) {
-		if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
-			debug("Activation failed for " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-		throw new DelegatingLoaderException(Policy.bind("plugin.delegatingLoaderTrouble", descriptor.getUniqueIdentifier(), name), e); //$NON-NLS-1$
-	} finally {
-		if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
-			debug("Exit activation for " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-		pluginActivationInProgress = false;
-	}
-}
-public String debugId() {
-	return descriptor.toString();
-}
-/**
- * Finds and loads the class with the specified name from the URL search
- * path. Any URLs referring to JAR files are loaded and opened as needed
- * until the class is found.   Search on the parent chain and then self.
- *
- * Subclasses should implement this method.
- *
- * @param name the name of the class
- * @param resolve whether or not to resolve the class if found
- * @param requestor class loader originating the request
- * @param checkParents whether the parent of this loader should be consulted
- * @return the resulting class
- */
-protected Class internalFindClassParentsSelf(final String name, boolean resolve, DelegatingURLClassLoader requestor, boolean checkParents) {
-	Class result = null;
-	synchronized (this) {
-		// check the cache.  If we find something, check to see if its visible.
-		// If it is, return it.  If not, return null if we are not checking parents.  There is
-		// no point in looking in self as the class was already in the cache.
-		result = findLoadedClass(name);
-		if (result != null) {
-			result = checkClassVisibility(result, requestor, true);
-			if (result != null || !checkParents)
-				return result;
-		}
-
-		// if it wasn't in the cache or was not visible, check the parents (if requested)
-		if (checkParents) {
-			result = findClassParents(name, resolve);
-			if (result != null)
-				return result;
-		}
-
-		// if activation is not going to be required, try the load here.  This is
-		// a short circuit so we don't fall through to the other sync block and do
-		// more work.  Note that the order of the tests is important, since 
-		//descriptor.isPluginActivated() blocks while activation in progress,
-		//thus creating a potential deadlock situation.
-		if (pluginActivationInProgress || descriptor.isPluginActivated()) {
-			try {
-				result = super.findClass(name);
-			} catch (ClassNotFoundException e) {
-				return null;
-			}
-			return checkClassVisibility(result, requestor, false);
-		}
-		// Check to see if we would find the class if we looked.  If so,
-		// activation is required.  If not, don't bother, just return null
-		if (shouldLookForClass(name))
-			// leave a dropping to discourage others from trying to do activation.
-			// This flag will be cleared once activation is complete.
-			pluginActivationInProgress = true;
-		else
-			return null;
-	}
-
-	// If we will find the class and the plugin is not yet activated, go ahead and do it now.
-	// Note that this MUST be done outside the sync block to avoid deadlock if
-	// plugin activation forks threads etc.
-	activatePlugin(name);
-
-	// By now the plugin is activated and we need to sycn and retry the
-	// class load.
-	synchronized (this) {
-		result = findLoadedClass(name);
-		if (result != null)
-			return checkClassVisibility(result, requestor, true);
-
-		// do search/load in this class loader
-		try {
-			result = super.findClass(name);
-			// If the class is loaded in this classloader register it with
-			// the hot swap support.  Need to do this regardless of visibility
-			// because the class was actually loaded.
-			if (result == null)
-				return null;
-			return checkClassVisibility(result, requestor, false);
-		} catch (ClassNotFoundException e) {
-			return null;
-		}
-	}
-}
-public PluginDescriptor getPluginDescriptor() {
-	return descriptor;
-}
-/**
- * Returns the id to use to lookup class prefixes for this loader
- */
-public String getPrefixId() {
-	return descriptor.getUniqueIdentifier();
- }
- /**
-  * Initializes imported classloaders with the classloaders of all resolved pre-
-  * requisites.
-  */
-public void initializeImportedLoaders() {
-	PluginDescriptor desc = getPluginDescriptor();
-	// prereqs will contain all *resolved* pre-requisites (except boot and runtime)
-	IPluginPrerequisite[] prereqs = desc.getPluginResolvedPrerequisites();
-	if (prereqs.length == 0)
-		return;
-	PluginRegistry registry = desc.getPluginRegistry();
-	DelegateLoader[] importedLoaders = new DelegateLoader[prereqs.length];
-	for (int i = 0; i < prereqs.length; i++) {
-		String prereqId = prereqs[i].getUniqueIdentifier();
-		desc = (PluginDescriptor) registry.getPluginDescriptor(prereqId, prereqs[i].getResolvedVersionIdentifier());
-		importedLoaders[i] = new DelegateLoader((DelegatingURLClassLoader) desc.getPluginClassLoader(true), prereqs[i].isExported());
-	}
-	setImportedLoaders(importedLoaders);
-}
-public void setPluginDescriptor(PluginDescriptor value) {
-	descriptor = value;
-}
-protected boolean shouldLookForClass(String name) {
-	// check if requested class is in loader search path
-	// Note: this check is suboptimal. It results in additional
-	// loader overhead until the plugin is activated. The reason
-	// the check is performed here is because
-	// (1) plug-in activation needs to be performed prior to
-	//     the requested class load (done in findClass(String))
-	// (2) the check cannot be added to the "right" spot inside private
-	//     implementation of URLClassLoader
-	String resource = name.replace('.', '/');
-	if (findClassResource(resource + ".class") == null) //$NON-NLS-1$
-		return false;
-
-	// check if plugin is permanently deactivated
-	if (descriptor.isPluginDeactivated()) {
-		String message = Policy.bind("plugin.deactivatedLoad", name, descriptor.getUniqueIdentifier()); //$NON-NLS-1$
-		throw new DelegatingLoaderException(message);
-	}
-	return true;
-}
-protected String getClassloaderId() {
-	return descriptor.getId();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
deleted file mode 100644
index 57f75c0..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
+++ /dev/null
@@ -1,1023 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.BundleStats;
-import org.eclipse.core.internal.boot.ClassloaderStats;
-import org.eclipse.core.internal.boot.DelegatingURLClassLoader;
-import org.eclipse.core.internal.boot.PlatformClassLoader;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.internal.boot.URLContentFilter;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginDescriptor extends PluginDescriptorModel implements IPluginDescriptor {
-
-	private DelegatingURLClassLoader loader = null; // plugin loader
-	private boolean active = false; // plugin is active
-	private boolean activePending = false; // being activated
-	private boolean deactivated = false; // plugin deactivated due to startup errors
-	protected Plugin pluginObject = null; // plugin object
-	private boolean usePlatformURLs = true;
-	private ResourceBundle bundle = null; // plugin.properties
-	private Locale locale = null; // bundle locale
-	private boolean bundleNotFound = false; // marker to prevent unnecessary lookups
-	private Object[] cachedClasspath = null; // cached value of class loader's classpath
-
-	// constants
-	static final String PLUGIN_URL = PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR + "/" + PlatformURLPluginConnection.PLUGIN + "/"; //$NON-NLS-1$ //$NON-NLS-2$
-	static final String VERSION_SEPARATOR = "_"; //$NON-NLS-1$
-
-	private static final String DEFAULT_BUNDLE_NAME = "plugin"; //$NON-NLS-1$
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-
-	private static final String URL_PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
-	// Places to look for library files 
-	private static String[] WS_JAR_VARIANTS = buildWSVariants();
-	private static String[] OS_JAR_VARIANTS = buildOSVariants();
-	private static String[] NL_JAR_VARIANTS = buildNLVariants(BootLoader.getNL());
-	private static String[] JAR_VARIANTS = buildVanillaVariants();
-
-public PluginDescriptor() {
-	super();
-}
-private static String[] buildWSVariants() {
-	ArrayList result = new ArrayList();
-	result.add("ws/" + BootLoader.getWS()); //$NON-NLS-1$
-	result.add(""); //$NON-NLS-1$
-	return (String[])result.toArray(new String[result.size()]);
-}
-private static String[] buildOSVariants() {
-	ArrayList result = new ArrayList();
-	result.add("os/" + BootLoader.getOS() + "/" + BootLoader.getOSArch()); //$NON-NLS-1$ //$NON-NLS-2$
-	result.add("os/" + BootLoader.getOS()); //$NON-NLS-1$
-	result.add(""); //$NON-NLS-1$
-	return (String[])result.toArray(new String[result.size()]);
-}
-private static String[] buildNLVariants(String nl) {
-	ArrayList result = new ArrayList();
-	IPath base = new Path("nl"); //$NON-NLS-1$
-	
-	IPath path = new Path(nl.replace('_', '/'));
-	while (path.segmentCount() > 0) {
-		result.add(base.append(path).toString());
-		// for backwards compatibility only, don't replace the slashes
-		if (path.segmentCount() > 1)
-			result.add(base.append(path.toString().replace('/', '_')).toString());
-		path = path.removeLastSegments(1);
-	}
-
-	return (String[]) result.toArray(new String[result.size()]);
-}
-private static String[] buildVanillaVariants() {
-	return new String[] {""}; //$NON-NLS-1$
-}
-private String[] buildBasePaths(String pluginBase) {
-	// Now build a list of all the bases to use
-	ArrayList result = new ArrayList();
-	result.add(pluginBase);
-	PluginFragmentModel[] fragments = getFragments();
-	int fragmentLength = (fragments == null) ? 0 : fragments.length;
-	for (int i = 0; i < fragmentLength; i++) {
-		FragmentDescriptor fragment = (FragmentDescriptor)fragments[i];
-		result.add(fragment.getInstallURL().toString());
-	}
-	return (String[])result.toArray(new String[result.size()]);
-}
-/**
- * concatenates start and end.  If end has a '.' construct at the beginning
- * trim off any leading '.' constructs.  Since the libSpec was a path, we
- * know that it was canonicalized and will only have at most one set
- * of '.' constructs at the beginning.  Returns <code>null</code> if the 
- * end is null or starts with '..'.
- */
-private String concat(String start, String end) {
-	if (end == null)
-		return null;
-	if (end.startsWith("..")) //$NON-NLS-1$
-		// ISSUE: should log an error here
-		// error case.  Can't '..' out of the scope of a plugin.  Signal that this
-		// should be ignored (return null).
-		return null;
-	if (end.startsWith("./")) //$NON-NLS-1$
-		return start + (end.substring(2));
-	if (end.startsWith(".")) //$NON-NLS-1$
-		return start + end.substring(1);
-	return start + end;
-}
-public Object createExecutableExtension(String className, Object initData, IConfigurationElement cfig, String propertyName) throws CoreException {
-	// load the requested class from this plugin
-	Class classInstance = null;
-	try {
-		classInstance = getPluginClassLoader(true).loadClass(className);
-	} catch (Exception e1) {
-		throwException(Policy.bind("plugin.loadClassError", getId(), className), e1); //$NON-NLS-1$
-	}
-
-	// create a new instance
-	Object result = null;
-	try {
-		result = classInstance.newInstance();
-	} catch (Exception e) {
-		throwException(Policy.bind("plugin.instantiateClassError", getId(), className), e); //$NON-NLS-1$
-	}
-
-	// check if we have extension adapter and initialize
-	if (result instanceof IExecutableExtension) {
-		try {
-			// make the call even if the initialization string is null
-			 ((IExecutableExtension) result).setInitializationData(cfig, propertyName, initData);
-		} catch (CoreException ce) {
-			// user code threw exception
-			logError(ce.getStatus());
-			throw new CoreException(ce.getStatus());
-		} catch (Exception te) {
-			// user code caused exception
-			throwException(Policy.bind("policy.initObjectError", getId(), className), te); //$NON-NLS-1$
-		}
-	}
-	return result;
-}
-Object createExecutableExtension(String pluginName, String className, Object initData, IConfigurationElement cfig, String propertyName) throws CoreException {
-	String id = getUniqueIdentifier(); // this plugin id
-	// check if we need to delegate to some other plugin
-	if (pluginName != null && !pluginName.equals("") && !pluginName.equals(id)) { //$NON-NLS-1$
-		PluginDescriptor plugin = null;
-		plugin = (PluginDescriptor) getPluginRegistry().getPluginDescriptor(pluginName);
-		return plugin.createExecutableExtension(className, initData, cfig, propertyName);
-	}
-	return createExecutableExtension(className, initData, cfig, propertyName);
-}
-synchronized void doPluginActivation() throws CoreException {
-	// this method is called by the class loader just prior 
-	// to getting a class. It needs to handle the
-	// case where it is called multiple times during the activation
-	// processing itself (as a result of other classes from this
-	// plugin being directly referenced by the plugin class)
-
-	// NOTE: there is a remote scenario where the plugin class can
-	// deadlock, if it starts separate thread(s) within its
-	// constructor or startup() method, and waits on those
-	// threads before returning (ie. calls join()).
-
-	boolean errorExit = true;
-
-	// check if already activated or pending
-	if (pluginActivationEnter()) {
-		try {
-			if (DelegatingURLClassLoader.MONITOR_PLUGINS)			
-				PluginStats.startActivation(this.getUniqueIdentifier());			
-			internalDoPluginActivation();
-			errorExit = false;
-		} finally {
-			pluginActivationExit(errorExit);
-			if (DelegatingURLClassLoader.MONITOR_PLUGINS)			
-				PluginStats.endActivation(this.getUniqueIdentifier());			
-		}
-	}
-}
-synchronized void doPluginDeactivation() {
-	loader = null;
-	pluginObject = null;
-	active = false;
-	activePending = false;
-	deactivated = false;
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-private static String[] getArrayFromList(String prop) {
-	if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
-		return new String[0];
-	Vector list = new Vector();
-	StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
-	while (tokens.hasMoreTokens()) {
-		String token = tokens.nextToken().trim();
-		if (!token.equals("")) //$NON-NLS-1$
-			list.addElement(token);
-	}
-	return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtension getExtension(String id) {
-	if (id == null)
-		return null;
-	ExtensionModel[] list = getDeclaredExtensions();
-	if (list == null)
-		return null;
-	for (int i = 0; i < list.length; i++) {
-		if (id.equals(list[i].getId()))
-			return (IExtension) list[i];
-	}
-	return null;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId) {
-	if (extensionPointId == null)
-		return null;
-	ExtensionPointModel[] list = getDeclaredExtensionPoints();
-	if (list == null)
-		return null;
-	for (int i = 0; i < list.length; i++) {
-		if (extensionPointId.equals(list[i].getId()))
-			return (IExtensionPoint) list[i];
-	}
-	return null;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtensionPoint[] getExtensionPoints() {
-	ExtensionPointModel[] list = getDeclaredExtensionPoints();
-	if (list == null)
-		return new IExtensionPoint[0];
-	IExtensionPoint[] newValues = new IExtensionPoint[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtension[] getExtensions() {
-	ExtensionModel[] list = getDeclaredExtensions();
-	if (list == null)
-		return new IExtension[0];
-	IExtension[] newValues = new IExtension[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public URL getInstallURL() {
-	try {
-		return new URL(PLUGIN_URL + toString() + "/"); //$NON-NLS-1$
-	} catch (MalformedURLException e) {
-		throw new IllegalStateException(); // unchecked
-	}
-}
-public URL getInstallURLInternal() {
-	String url = getLocation();
-	try {
-		return new URL(url);
-	} catch (MalformedURLException e) {
-		throw new IllegalStateException(); // unchecked
-	}
-}
-/**
- * @see IPluginDescriptor
- */
-public String getLabel() {
-	String s = getName();
-	return s == null ? "" : getResourceString(s); //$NON-NLS-1$
-}
-/**
- * @see IPluginDescriptor
- */
-public Plugin getPlugin() throws CoreException {
-	if (pluginObject == null)
-		doPluginActivation();
-	return pluginObject;
-}
-/**
- * @see IPluginDescriptor
- */
-public ClassLoader getPluginClassLoader() {
-	return getPluginClassLoader(true);
-}
-public ClassLoader getPluginClassLoader(boolean eclipseURLs) {
-	if (loader != null)
-		return loader;
-
-	Object[] path = getPluginClassLoaderPath(eclipseURLs);
-	URL[] codePath = (URL[]) path[0];
-	URLContentFilter[] codeFilters = (URLContentFilter[]) path[1];
-	URL[] resourcePath = (URL[]) path[2];
-	URLContentFilter[] resourceFilters = (URLContentFilter[]) path[3];
-	// Create the classloader.  The parent should be the parent of the platform class loader.  
-	// This allows us to decouple standard parent loading from platform loading.
-	loader = new PluginClassLoader(codePath, codeFilters, resourcePath, resourceFilters, PlatformClassLoader.getDefault().getParent(), this);
-	loader.initializeImportedLoaders();
-	// Note: need to be able to give out a loader reference before
-	// its prereqs are initialized. Otherwise loops in prereq
-	// definition will cause endless loop in initializePrereqs()
-	return loader;
-}
-private Object[] getPluginClassLoaderPath(boolean platformURLFlag) {
-	if (cachedClasspath != null)
-		return cachedClasspath;
-
-	// Any library access filters specified in the plugin.xml are
-	// applied to the corresponding loader search path entries
-
-	// compute the base of the classpath urls.  If <code>platformURLFlag</code> is
-	// true, we should use platform: URLs.  Otherwise the native URLs are used.
-	usePlatformURLs = platformURLFlag;
-	// If we are using platform URLs, install will look like
-	// platform:/plugin/<pluginId>_<pluginVersion>/
-	// If we aren't using platform URLs install will be the URL
-	// corresponding to the root directory of this plugin
-	URL install = usePlatformURLs ? getInstallURL() : getInstallURLInternal();
-	String execBase = install.toExternalForm();
-	
-	String[] basePaths = buildBasePaths(execBase);
-
-	String[] exportAll = new String[] { "*" }; //$NON-NLS-1$
-	ArrayList[] result = new ArrayList[4];
-	result[0] = new ArrayList();
-	result[1] = new ArrayList();
-	result[2] = new ArrayList();
-	result[3] = new ArrayList();
-
-	// add in any development mode class paths and the export all filter
-	// For example, if you specified "-dev bin" on the command line to
-	// launch Eclipse, you want to add the bin directory of each plugin
-	// to the classpath.
-	if (DelegatingURLClassLoader.devClassPath != null) {
-		String[] specs = getArrayFromList(DelegatingURLClassLoader.devClassPath);
-		Vector baseSpecs = new Vector(specs.length);
-		// convert dev class path into url strings
-		for (int j = 0; j < specs.length; j++) {
-			String spec = specs[j];
-			char lastChar = spec.charAt(spec.length() - 1);
-			// if the spec is not a jar and does not have a trailing slash, add one
-			if (!(spec.endsWith(".jar") || (lastChar == '/' || lastChar == '\\'))) //$NON-NLS-1$
-				spec = spec + "/"; //$NON-NLS-1$
-			if (!spec.endsWith(".jar")) //$NON-NLS-1$
-				baseSpecs.add(spec);
-			// add the dev path for the plugin itself
-			addLibraryWithFragments(basePaths, JAR_VARIANTS, spec, exportAll, ILibrary.CODE, true, result);
-		}
-		// Now add all the spec directories to the basePaths so we 
-		// will look in these directories for jar files, etc.
-		String[] baseSuffix = (String[])baseSpecs.toArray(new String[baseSpecs.size()]);
-		String[] newBasePaths = new String[basePaths.length + (basePaths.length * baseSpecs.size())];
-		int newIdx = 0;
-		for (int j = 0; j < baseSuffix.length; j++) {
-			for (int i = 0; i < basePaths.length; i++) {
-				newBasePaths[newIdx++] = basePaths[i] + baseSuffix[j];
-			}
-		}
-		for (int i = 0; i < basePaths.length; i++) {
-			newBasePaths[newIdx++] = basePaths[i];
-		}
-		basePaths = newBasePaths;			
-	}
-
-	// add in the class path entries spec'd in the plugin.xml.  
-	ILibrary[] list = getRuntimeLibraries();
-	for (int i = 0; i < list.length; i++) {
-		ILibrary library = list[i];
-		// if the library path is empty, skip it.
-		if (library.getPath().isEmpty())
-			continue;
-		String[] filters = library.isFullyExported() ? exportAll : library.getContentFilters();
-		String libSpec = library.getPath().toString();
-		resolveAndAddLibrary(libSpec, filters, basePaths, library.getType(), result);
-	}
-
-	Object[] array = new Object[4];
-	array[0] = result[0].toArray(new URL[result[0].size()]);
-	array[1] = result[1].toArray(new URLContentFilter[result[1].size()]);
-	array[2] = result[2].toArray(new URL[result[2].size()]);
-	array[3] = result[3].toArray(new URLContentFilter[result[3].size()]);
-	// cache the value
-	cachedClasspath = array;
-	return array;
-}
-
-private boolean resolveAndAddLibrary(String spec, String[] filters, String[] basePaths, String type, ArrayList[] result) {
-	if (spec.charAt(0) == '$') {
-		IPath path = new Path(spec);
-		String first = path.segment(0);
-		String remainder = path.removeFirstSegments(1).toString();
-		if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
-			return addLibraryWithFragments(basePaths, WS_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
-		if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
-			return addLibraryWithFragments(basePaths, OS_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
-		if (first.equalsIgnoreCase("$nl$")) //$NON-NLS-1$
-			return addLibraryWithFragments(basePaths, NL_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
-	}
-	return addLibraryWithFragments(basePaths, JAR_VARIANTS, spec, filters, type, false, result);
-}
-
-private boolean addLibraryWithFragments(String[] basePaths, String[] variants, String spec, String[] filters, String type, boolean addAll, ArrayList[] result) {
-	// If addAll is set to false, only the first valid match will be
-	// added to the class path.  If addAll is set to true, all valid
-	// path permutations will be added to the class path.  Typically
-	// you will want addAll set to true for the development mode
-	// case.
-	boolean added = false;
-	// The only case where we want to stop looping is if 
-	// addAll = false and added = true.
-	// In all other cases, keep looping and adding (or attempting to
-	// add) path values.
-	// So keep looping if addAll = true OR added = false.
-	for (int j = 0; j < variants.length && (addAll || !added); j++) {
-		for (int i = 0; i < basePaths.length && (addAll || !added); i++) {
-			added = addLibrary(basePaths[i], spec, variants[j], filters, type, result);
-		}
-	}
-	return added;
-}
-
-private boolean addLibrary(String base, String libSpec, String variant, String[] filters, String type, ArrayList[] result) {
-	// create path entries for all libraries except those which are files
-	// and do not exist.
-	String spec = null;
-	// Make sure you get only one separator between each segment
-	if ((variant.length() == 0) && (libSpec.startsWith("/")) && //$NON-NLS-1$
-	     (base.endsWith("/"))) { //$NON-NLS-1$
-		spec = concat(base, libSpec.substring(1));
-	} else {
-		spec = concat(concat(base, variant), libSpec);
-	}
-	// spec is now something of the form:
-	// <base><variant><libSpec>
-	if (spec == null)
-		return false;
-
-	// if the libspec is NOT considered a directory, treat as a jar
-	if (!spec.endsWith("/")) { //$NON-NLS-1$
-		if (spec.startsWith(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR))
-			spec += PlatformURLHandler.JAR_SEPARATOR;
-		else
-			spec = PlatformURLHandler.JAR + PlatformURLHandler.PROTOCOL_SEPARATOR + spec + PlatformURLHandler.JAR_SEPARATOR;
-	}
-	try {
-		URL entry = new URL(spec);
-		URL resolved = Platform.resolve(entry);
-		boolean add = true;
-		String file = getFileFromURL (resolved);
-		if (file != null)
-			add = new File(file).exists();
-		if (add) {
-			if (type.equals(ILibrary.CODE)) {
-				result[0].add(resolved);
-				result[1].add(new URLContentFilter(filters));
-			} else
-				if (type.equals(ILibrary.RESOURCE)) {
-					result[2].add(resolved);
-					result[3].add(new URLContentFilter(filters));
-				}
-			return true;
-		}
-	} catch (IOException e) {
-		// skip bad URLs
-	}
-	return false;
-}
-
-public String getFileFromURL(URL target) {
-	String protocol = target.getProtocol();
-	if (protocol.equals(PlatformURLHandler.FILE))
-		return target.getFile();
-	if (protocol.equals(PlatformURLHandler.JAR)) {
-		// strip off the jar separator at the end of the url then do a recursive call
-		// to interpret the sub URL.
-		String file = target.getFile();
-		file = file.substring(0, file.length() - PlatformURLHandler.JAR_SEPARATOR.length());
-		try {
-			return getFileFromURL(new URL(file));
-		} catch (MalformedURLException e) {
-			// ignore bad URLs
-		}
-	}
-	return null;
-}
-
-/**
- * @see IPluginDescriptor
- */
-public IPluginPrerequisite[] getPluginPrerequisites() {
-	PluginPrerequisiteModel[] list = getRequires();
-	if (list == null)
-		return new IPluginPrerequisite[0];
-	IPluginPrerequisite[] newValues = new IPluginPrerequisite[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-public PluginRegistry getPluginRegistry() {
-	return (PluginRegistry) getRegistry();
-}
-/**
- * @see IPluginDescriptor
- */
-public String getProviderName() {
-	String s = super.getProviderName();
-	return s == null ? "" : getResourceString(s); //$NON-NLS-1$
-}
-/**
- * @see IPluginDescriptor
- */
-public ResourceBundle getResourceBundle() throws MissingResourceException {
-	return getResourceBundle(Locale.getDefault());
-}
-public ResourceBundle getResourceBundle(Locale targetLocale) throws MissingResourceException {
-	// we cache the bundle for a single locale 
-	if (bundle != null && targetLocale.equals(locale))
-		return bundle;
-
-	// check if we already tried and failed
-	if (bundleNotFound)
-		throw new MissingResourceException(Policy.bind("plugin.bundleNotFound", getId(), DEFAULT_BUNDLE_NAME + "_" + targetLocale), DEFAULT_BUNDLE_NAME + "_" + targetLocale, ""); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-	// try to load bundle from this plugin. A new loader is created to include the base 
-	// install directory on the search path (to maintain compatibility with current handling
-	// of plugin.properties bundles (not in code jar)).
-	URL[] cp = (URL[])getPluginClassLoaderPath(true)[0];
-	URL[] newcp = new URL[cp.length+1];
-	for (int i=0; i<cp.length; i++) newcp[i+1] = cp[i];
-	try {
-		newcp[0] = Platform.resolve(getInstallURL()); // always try to resolve URLs used in loaders
-	} catch(IOException e) {
-		newcp[0] = getInstallURL();
-	}
-	ClassLoader resourceLoader = new URLClassLoader(newcp, null);
-	ResourceBundle newBundle = null;
-	try {
-		newBundle = ResourceBundle.getBundle(DEFAULT_BUNDLE_NAME, targetLocale, resourceLoader);
-		if (DelegatingURLClassLoader.MONITOR_BUNDLES) 
-			ClassloaderStats.loadedBundle(getUniqueIdentifier(), new BundleStats(getUniqueIdentifier(), DEFAULT_BUNDLE_NAME+".properties", newBundle)); //$NON-NLS-1$
-		bundle = newBundle;
-		locale = targetLocale;
-	} catch (MissingResourceException e) {
-		bundleNotFound = true;
-		throw e;
-	}
-
-	return newBundle;
-}
-/**
- * @see IPluginDescriptor
- */
-public String getResourceString(String value) {
-	return getResourceString(value, null);
-}
-/**
- * @see IPluginDescriptor
- */
-public String getResourceString(String value, ResourceBundle b) {
-
-	String s = value.trim();
-	
-	if (!s.startsWith(KEY_PREFIX)) return s;
-
-	if (s.startsWith(KEY_DOUBLE_PREFIX)) return s.substring(1);
-
-	int ix = s.indexOf(" "); //$NON-NLS-1$
-	String key = ix == -1 ? s : s.substring(0,ix);
-	String dflt = ix == -1 ? s : s.substring(ix+1);
-
-	if (b==null) {
-		try { 
-			b = getResourceBundle();
-		} catch (MissingResourceException e) {
-			// just return the default (dflt)
-		};
-	}
-	
-	if (b==null) return dflt;
-	
-	try { 
-		return b.getString(key.substring(1));
-	} catch(MissingResourceException e) {
-		return dflt;
-	}
-}
-/**
- * @see IPluginDescriptor
- */
-public ILibrary[] getRuntimeLibraries() {
-	LibraryModel[] list = getRuntime();
-	if (list == null)
-		return new ILibrary[0];
-	ILibrary[] newValues = new ILibrary[list.length];
-	System.arraycopy(list, 0, newValues, 0, list.length);
-	return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public String getUniqueIdentifier() {
-	return getId();
-}
-/**
- * @see #toString
- */
-public static String getUniqueIdentifierFromString(String pluginString) {	
-	int ix = pluginString.indexOf(VERSION_SEPARATOR);
-	return ix==-1 ? pluginString : pluginString.substring(0,ix);
-}
-/**
- * @see IPluginDescriptor
- */
-public PluginVersionIdentifier getVersionIdentifier() {
-	String version = getVersion();
-	if (version == null)
-		return new PluginVersionIdentifier("1.0.0"); //$NON-NLS-1$
-	try {
-		return new PluginVersionIdentifier(version);
-	} catch (Exception e) {
-		return new PluginVersionIdentifier("1.0.0"); //$NON-NLS-1$
-	}
-}
-/**
- * @see #toString
- */
-public static PluginVersionIdentifier getVersionIdentifierFromString(String pluginString) {
-	int ix = pluginString.indexOf("_"); //$NON-NLS-1$
-	if (ix==-1) return null;
-	String vid = pluginString.substring(ix+1);	
-	try {
-		return new PluginVersionIdentifier(vid);
-	} catch (Exception e) {
-		return null;
-	}
-}
-/**
- * Returns all pre-requisites that have been properly resolved, excluding any
- * redundant references to Platform.PI_RUNTIME and BootLoader.PI_BOOT.
- */
-public IPluginPrerequisite[] getPluginResolvedPrerequisites() {
-	PluginPrerequisiteModel[] prereqs = this.getRequires();
-	if (prereqs == null || prereqs.length == 0)
-		return new IPluginPrerequisite[0];
-	List resolvedPrerequisites = new ArrayList(prereqs.length);
-	for (int i = 0; i < prereqs.length; i++) {
-		if (prereqs[i].getResolvedVersion() == null)
-			continue;
-		String prereqId = prereqs[i].getPlugin();
-		// skip over the runtime and boot plugins if they were specified.  They are automatically included
-		// as the platform and parent respectively.
-		if (prereqId.equalsIgnoreCase(Platform.PI_RUNTIME) || prereqId.equalsIgnoreCase(BootLoader.PI_BOOT))
-			continue;
-		resolvedPrerequisites.add(prereqs[i]);
-	}
-	if (resolvedPrerequisites.isEmpty())
-		return new IPluginPrerequisite[0];
-	return (IPluginPrerequisite[]) resolvedPrerequisites.toArray(new IPluginPrerequisite[resolvedPrerequisites.size()]);
-}
-private void internalDoPluginActivation() throws CoreException {
-	String errorMsg;
-	// load the runtime class 
-	String pluginClassName = getPluginClass();
-	Class runtimeClass = null;
-	try {
-		if (pluginClassName == null || pluginClassName.equals("")) //$NON-NLS-1$
-			runtimeClass = DefaultPlugin.class;
-		else
-			runtimeClass = getPluginClassLoader(true).loadClass(pluginClassName);
-	} catch (ClassNotFoundException e) {
-		errorMsg = Policy.bind("plugin.loadClassError", getId(), pluginClassName); //$NON-NLS-1$
-		throwException(errorMsg, e);
-	}
-
-	// find the correct constructor
-	Constructor construct = null;
-	try {
-		construct = runtimeClass.getConstructor(new Class[] { IPluginDescriptor.class });
-	} catch (NoSuchMethodException eNoConstructor) {
-		errorMsg = Policy.bind("plugin.instantiateClassError", getId(), pluginClassName ); //$NON-NLS-1$
-		throwException(errorMsg, eNoConstructor);
-	}
-
-	long time = 0L;
-	if (InternalPlatform.DEBUG_STARTUP) {
-		time = System.currentTimeMillis();
-		System.out.println("Starting plugin: " + getId()); //$NON-NLS-1$
-	}
-	// create a new instance
-	try {
-		pluginObject = (Plugin) construct.newInstance(new Object[] { this });
-	} catch (ClassCastException e) {
-		errorMsg = Policy.bind("plugin.notPluginClass", pluginClassName); //$NON-NLS-1$
-		throwException(errorMsg, e);
-	} catch (Exception e) {
-		errorMsg = Policy.bind("plugin.instantiateClassError", getId(), pluginClassName); //$NON-NLS-1$
-		throwException(errorMsg, e);
-	} 
-
-	// run startup()
-	final String message = Policy.bind("plugin.startupProblems", getId()); //$NON-NLS-1$
-	final MultiStatus multiStatus = new MultiStatus(Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
-	ISafeRunnable code = new ISafeRunnable() {
-		public void run() throws Exception {
-			pluginObject.startup();
-		}
-		public void handleException(Throwable e) {
-			multiStatus.add(new Status(Status.WARNING, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, e));
-			try {
-				pluginObject.shutdown();
-			} catch (Exception ex) {
-				// Ignore exceptions during shutdown. Since startup failed we are probably
-				// in a weird state anyway.
-			}
-		}
-	};
-	InternalPlatform.run(code);
-	if (InternalPlatform.DEBUG_STARTUP) {
-		time = System.currentTimeMillis() - time;
-		System.out.println("Finished plugin startup for " + getId() + " time: " + time + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-	if (!multiStatus.isOK())
-		throw new CoreException(multiStatus);
-}
-/**
- * @see IPluginDescriptor
- */
-public synchronized boolean isPluginActivated() {
-	//note that this method is synchronized for good reason.  
-	//During plugin activation, neither true nor false would be valid
-	//return values for this method, so it must block until activation
-	//completes.  For example, returning false during activation
-	//would break the registry shutdown procedure, because a
-	//plugin being activated during shutdown would never be shut down.
-	return active;
-}
-public synchronized boolean isPluginDeactivated() {
-	return deactivated;
-}
-private void logError(IStatus status) {
-	InternalPlatform.getRuntimePlugin().getLog().log(status);
-	if (InternalPlatform.DEBUG)
-		System.out.println(status.getMessage());
-}
-/**
- * Returns <code>true</code> if we should continue with the plugin activation.
- */
-private boolean pluginActivationEnter() throws CoreException {
-	if (deactivated) {
-		// had permanent error on startup
-		String errorMsg = Policy.bind("plugin.pluginDisabled", getId()); //$NON-NLS-1$
-		throwException(errorMsg, null);
-	}
-	if (active || activePending) {
-		// already up and running 
-		return false;
-	}
-	activePending = true;
-	// go ahead and try to activate
-	return true;
-}
-private void pluginActivationExit(boolean errorExit) {
-	// we are done with with activation
-	activePending = false;
-	if (errorExit) {
-		active = false;
-		deactivated = true;
-	} else
-		active = true;
-}
-private String getFragmentLocation(PluginFragmentModel fragment) {
-	if (usePlatformURLs)
-		return FragmentDescriptor.FRAGMENT_URL + fragment.toString() + "/"; //$NON-NLS-1$
-	return fragment.getLocation();
-}
-public void setPluginClassLoader(DelegatingURLClassLoader value) {
-	loader = value;
-}
-public void setPluginClassLoader(PluginClassLoader value) {
-	loader = value;
-}
-private void throwException(String message, Throwable exception) throws CoreException {
-	IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, exception);
-	logError(status);
-	throw new CoreException(status);
-}
-/**
- * @see #getUniqueIdentifierFromString
- * @see #getVersionIdentifierFromString
- */
-public String toString() {
-	return getUniqueIdentifier()+VERSION_SEPARATOR+getVersionIdentifier().toString();
-}
-public void activateDefaultPlugins(DelegatingURLClassLoader loader) {
-	Object[] result = getPluginClassLoaderPath(true);
-	loader.addURLs((URL[]) result[0], (URLContentFilter[]) result[1], (URL[]) result[2], (URLContentFilter[]) result[3]);
-}
-/**
- * @see IPluginDescriptor
- */
-public final URL find(IPath path) {
-	return find(path, null);
-}
-/**
- * @see IPluginDescriptor
- */
-public final URL find(IPath path, Map override) {
-	if (path == null)
-		return null;
-	
-	URL install = getInstallURLInternal();
-	URL result = null;	
-	
-	// Check for the empty or root case first
-	if (path.isEmpty() || path.isRoot()) {
-		// Watch for the root case.  It will produce a new
-		// URL which is only the root directory (and not the
-		// root of this plugin).	
-		result = findInPlugin(install, Path.EMPTY);
-		if (result == null)
-			result = findInFragments(Path.EMPTY);
-		return result;
-	}
-	
-	// Now check for paths without variable substitution
-	String first = path.segment(0);
-	if (first.charAt(0) != '$') {
-		result = findInPlugin(install, path);
-		if (result == null)
-			result = findInFragments(path);
-		return result;	
-	}
-		
-	// Worry about variable substitution
-	IPath rest = path.removeFirstSegments(1);
-	if (first.equalsIgnoreCase("$nl$")) //$NON-NLS-1$
-		return findNL(install, rest, override);
-	if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
-		return findOS(install, rest, override);
-	if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
-		return findWS(install, rest, override);
-	if (first.equalsIgnoreCase("$files$")) //$NON-NLS-1$
-		return null;
-
-	return null;
-}
-
-private URL findOS(URL install, IPath path, Map override) {
-	String os = null;
-	if (override != null)
-		try {
-			// check for override
-			os = (String) override.get("$os$"); //$NON-NLS-1$
-		} catch (ClassCastException e) {
-			// just in case
-		}
-	if (os == null)
-		// use default
-		os = BootLoader.getOS();
-	if (os.length() == 0)
-		return null;
-		
-	// Now do the same for osarch
-	String osArch = null;
-	if (override != null)
-		try {
-			// check for override
-			osArch = (String) override.get("$arch$"); //$NON-NLS-1$
-		} catch (ClassCastException e) {
-			// just in case
-		}
-	if (osArch == null)
-		// use default
-		osArch = BootLoader.getOSArch();
-	if (osArch.length() == 0)
-		return null;
-
-	URL result = null;
-	IPath base = new Path("os").append(os).append(osArch); //$NON-NLS-1$
-	// Keep doing this until all you have left is "os" as a path
-	while (base.segmentCount() != 1) {
-		IPath filePath = base.append(path);	
-		result = findInPlugin(install, filePath);
-		if (result != null)
-			return result;	
-		result = findInFragments(filePath);
-		if (result != null)
-			return result;
-		base = base.removeLastSegments(1);
-	}
-	// If we get to this point, we haven't found it yet.
-	// Look in the plugin and fragment root directories
-	result = findInPlugin(install, path);
-	if (result != null)
-		return result;
-	return findInFragments(path);
-}
-
-private URL findWS(URL install, IPath path, Map override) {
-	String ws = null;
-	if (override != null)
-		try {
-			// check for override
-			ws = (String) override.get("$ws$"); //$NON-NLS-1$
-		} catch (ClassCastException e) {
-			// just in case
-		}
-	if (ws == null)
-		// use default
-		ws = BootLoader.getWS();
-	IPath filePath = new Path("ws").append(ws).append(path); //$NON-NLS-1$
-	// We know that there is only one segment to the ws path
-	// e.g. ws/win32	
-	URL result = findInPlugin(install, filePath);
-	if (result != null)
-		return result;	
-	result = findInFragments(filePath);
-	if (result != null)
-		return result;
-	// If we get to this point, we haven't found it yet.
-	// Look in the plugin and fragment root directories
-	result = findInPlugin(install, path);
-	if (result != null)
-		return result;
-	return findInFragments(path);
-}
-
-private URL findNL(URL install, IPath path, Map override) {
-	String nl = null;
-	String[] nlVariants = null;
-	if (override != null)
-		try {
-			// check for override
-			nl = (String) override.get("$nl$"); //$NON-NLS-1$
-		} catch (ClassCastException e) {
-			// just in case
-		}
-	nlVariants = nl == null ? NL_JAR_VARIANTS : buildNLVariants(nl);
-	if (nl != null && nl.length() == 0)
-		return null;
-
-	URL result = null;
-	for (int i=0; i<nlVariants.length; i++) {
-		IPath filePath = new Path(nlVariants[i]).append(path);
-		result = findInPlugin(install, filePath);
-		if (result != null)
-			return result;
-		result = findInFragments(filePath);
-		if (result != null)
-			return result;
-	}
-	// If we get to this point, we haven't found it yet.
-	// Look in the plugin and fragment root directories
-	result = findInPlugin(install, path);
-	if (result != null)
-		return result;
-	return findInFragments(path);
-}
-
-private URL findInPlugin(URL install, IPath filePath) {
-	try {
-		URL location = new URL(install, filePath.toString());
-		String file = getFileFromURL(location);
-		if (file != null && new File(file).exists()) {
-			Path pluginRootPath = new Path(install.getFile());
-			Path foundPath = new Path(file);
-			if (pluginRootPath.isPrefixOf(foundPath))
-				return location;
-		}						
-	} catch (IOException e) {
-		// ignore bad URLs
-	}
-	return null;
-}
-
-private URL findInFragments(IPath filePath) {
-	// This method will return a 'real' URL (as opposed to a platform
-	// URL).
-	PluginFragmentModel[] fragments = getFragments();
-	if (fragments == null)
-		return null;
-		
-	for (int i = 0; i < fragments.length; i++) {
-		try {
-			URL fragmentRootURL = new URL(fragments[i].getLocation());
-			URL location = new URL(fragmentRootURL, filePath.toString());
-			String file = getFileFromURL(location);
-			if (file != null && new File(file).exists()) {
-				Path fragmentRootPath = new Path(fragmentRootURL.getFile());
-				Path foundPath = new Path(file);
-				if (fragmentRootPath.isPrefixOf(foundPath))
-					return location;
-			}
-		} catch (IOException e) {
-			// skip malformed url and urls that cannot be resolved
-		}
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
deleted file mode 100644
index b31bf02..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.util.*;
-import org.apache.xerces.parsers.SAXParser;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class PluginParser extends DefaultHandler implements IModel {
-
-	// concrete object factory
-	Factory factory;
-	
-	// File name for this plugin or fragment
-	// This to help with error reporting
-	String locationName = null;
-
-	// Current State Information
-	Stack stateStack = new Stack();
-
-	// Current object stack (used to hold the current object we are
-	// populating in this plugin descriptor
-	Stack objectStack = new Stack();
-
-	// model parser
-	private static SAXParser parser;
-	
-	Locator locator = null;
-	
-	static {
-		initializeParser();
-	}
-
-	// Valid States
-	private static final int IGNORED_ELEMENT_STATE = 0;
-	private static final int INITIAL_STATE = 1;
-	private static final int PLUGIN_STATE = 2;
-	private static final int PLUGIN_RUNTIME_STATE = 3;
-	private static final int PLUGIN_REQUIRES_STATE = 4;
-	private static final int PLUGIN_EXTENSION_POINT_STATE = 5;
-	private static final int PLUGIN_EXTENSION_STATE = 6;
-	private static final int RUNTIME_LIBRARY_STATE = 7;
-	private static final int LIBRARY_EXPORT_STATE = 8;
-	private static final int LIBRARY_PACKAGES_STATE = 12;
-	private static final int PLUGIN_REQUIRES_IMPORT_STATE = 9;
-	private static final int CONFIGURATION_ELEMENT_STATE = 10;
-	private static final int FRAGMENT_STATE = 11;
-
-	// Keep a group of vectors as a temporary scratch space.  These
-	// vectors will be used to populate arrays in the plugin descriptor
-	// once processing of the XML file is complete.
-	private static final int EXTENSION_POINT_INDEX = 0;
-	private static final int EXTENSION_INDEX = 1;
-	private static final int LAST_INDEX = 1;
-	private Vector scratchVectors[] = new Vector[LAST_INDEX + 1];
-	
-public PluginParser(Factory factory) {
-	super();
-	this.factory = factory;
-	parser.setContentHandler(this);
-	parser.setDTDHandler(this);
-	parser.setEntityResolver(this);
-	parser.setErrorHandler(this);
-}
-
-private static void initializeParser() {
-	parser = new SAXParser();
-	try {
-	 	((SAXParser)parser).setFeature("http://xml.org/sax/features/string-interning", true); //$NON-NLS-1$
-	} catch (SAXException e) {
-		// In case support for this feature is removed
-	}
-}
-
-/**
-     * Receive a Locator object for document events.
-     *
-     * <p>By default, do nothing.  Application writers may override this
-     * method in a subclass if they wish to store the locator for use
-     * with other document events.</p>
-     *
-     * @param locator A locator for all SAX document events.
-     * @see org.xml.sax.ContentHandler#setDocumentLocator
-     * @see org.xml.sax.Locator
-     */
-public void setDocumentLocator (Locator locator) {
-	this.locator = locator;
-}
-
-public void characters(char[] ch, int start, int length) {
-	int state = ((Integer) stateStack.peek()).intValue();
-	if (state != CONFIGURATION_ELEMENT_STATE)
-		return;
-	if (state == CONFIGURATION_ELEMENT_STATE) {
-		// Accept character data within an element, is when it is
-		// part of a configuration element (i.e. an element within an EXTENSION element
-		ConfigurationElementModel currentConfigElement = (ConfigurationElementModel) objectStack.peek();
-		String value = new String(ch, start, length);
-		String oldValue = currentConfigElement.getValueAsIs();
-		if (oldValue == null) {
-			if (value.trim().length() != 0)
-				currentConfigElement.setValue(value);
-		} else {
-			currentConfigElement.setValue(oldValue + value);
-		}
-	} 
-}
-public void endDocument() {
-}
-public void endElement(String uri, String elementName, String qName) {
-	switch (((Integer) stateStack.peek()).intValue()) {
-		case IGNORED_ELEMENT_STATE :
-			stateStack.pop();
-			break;
-		case INITIAL_STATE :
-			// shouldn't get here
-			internalError (Policy.bind("parse.internalStack", elementName)); //$NON-NLS-1$
-			break;
-		case PLUGIN_STATE :
-		case FRAGMENT_STATE :
-			if (elementName.equals(PLUGIN) || elementName.equals(FRAGMENT)) {
-				stateStack.pop();
-				PluginModel root = (PluginModel) objectStack.peek();
-
-				// Put the extension points into this plugin
-				Vector extPointVector = scratchVectors[EXTENSION_POINT_INDEX];
-				if (extPointVector.size() > 0) {
-					root.setDeclaredExtensionPoints((ExtensionPointModel[]) extPointVector.toArray(new ExtensionPointModel[extPointVector.size()]));
-					scratchVectors[EXTENSION_POINT_INDEX].removeAllElements();
-				}
-
-				// Put the extensions into this plugin too
-				Vector extVector = scratchVectors[EXTENSION_INDEX];
-				if (extVector.size() > 0) {
-					root.setDeclaredExtensions((ExtensionModel[]) extVector.toArray(new ExtensionModel[extVector.size()]));
-					scratchVectors[EXTENSION_INDEX].removeAllElements();
-				}
-			}
-			break;
-		case PLUGIN_RUNTIME_STATE :
-			if (elementName.equals(RUNTIME)) {
-				stateStack.pop();
-				// take the vector of library entries and put them into the plugin
-				// descriptor
-				Vector libVector = (Vector)objectStack.pop();
-				if (libVector.size() > 0) {
-					PluginModel model = (PluginModel) objectStack.peek();
-					model.setRuntime((LibraryModel[]) libVector.toArray(new LibraryModel[libVector.size()]));
-					}
-			}
-			break;
-		case PLUGIN_REQUIRES_STATE :
-			if (elementName.equals(PLUGIN_REQUIRES)) {
-				stateStack.pop();
-				// take the vector of prerequisites and put them into the plugin
-				// descriptor
-				Vector importVector = (Vector)objectStack.pop();
-				if (importVector.size() > 0) {
-					PluginModel parentDescriptor = (PluginModel) objectStack.peek();
-					parentDescriptor.setRequires((PluginPrerequisiteModel[]) importVector.toArray(new PluginPrerequisiteModel[importVector.size()]));
-				}
-			}
-			break;
-		case PLUGIN_EXTENSION_POINT_STATE :
-			if (elementName.equals(EXTENSION_POINT)) {
-				stateStack.pop();
-			}
-			break;
-		case PLUGIN_EXTENSION_STATE :
-			if (elementName.equals(EXTENSION)) {
-				stateStack.pop();
-				// Finish up extension object
-				ExtensionModel currentExtension = (ExtensionModel) objectStack.pop();
-				PluginModel parent = (PluginModel) objectStack.peek();
-				currentExtension.setParent(parent);
-				scratchVectors[EXTENSION_INDEX].addElement(currentExtension);
-			}
-			break;
-		case RUNTIME_LIBRARY_STATE :
-			if (elementName.equals(LIBRARY)) {
-				LibraryModel curLibrary = (LibraryModel) objectStack.pop();
-				// Clean up the exports for this library entry
-				Vector exportsVector = (Vector) objectStack.pop();
-				if (exportsVector.size() > 0) {
-					curLibrary.setExports((String[]) exportsVector.toArray(new String[exportsVector.size()]));
-				}
-
-				// Add this library element to the vector "runtime" on the stack
-				Vector libraryVector = (Vector) objectStack.peek();
-				libraryVector.addElement(curLibrary);
-				stateStack.pop();
-			}
-			break;
-		case LIBRARY_EXPORT_STATE :
-			if (elementName.equals(LIBRARY_EXPORT)) {
-				stateStack.pop();
-			}
-			break;
-		case PLUGIN_REQUIRES_IMPORT_STATE :
-			if (elementName.equals(PLUGIN_REQUIRES_IMPORT)) {
-				stateStack.pop();
-			}
-			break;
-		case CONFIGURATION_ELEMENT_STATE :
-			// We don't care what the element name was
-			stateStack.pop();
-			// Now finish up the configuration element object
-			ConfigurationElementModel currentConfigElement = (ConfigurationElementModel) objectStack.pop();
-			
-			String value= currentConfigElement.getValueAsIs();
-			if (value != null) {
-				currentConfigElement.setValue(value.trim());
-			}
-				
-			Object parent = objectStack.peek();
-			currentConfigElement.setParent(parent);
-			if (((Integer) stateStack.peek()).intValue() == PLUGIN_EXTENSION_STATE) {
-				// Want to add this configuration element to the subelements of an extension
-				ConfigurationElementModel[] oldValues = (ConfigurationElementModel[]) ((ExtensionModel) parent).getSubElements();
-				int size = (oldValues == null) ? 0 : oldValues.length;
-				ConfigurationElementModel[] newValues = new ConfigurationElementModel[size + 1];
-				for (int i = 0; i < size; i++) {
-					newValues[i] = oldValues[i];
-				}
-				newValues[size] = currentConfigElement;
-				((ExtensionModel) parent).setSubElements(newValues);
-			} else {
-				ConfigurationElementModel[] oldValues = (ConfigurationElementModel[]) ((ConfigurationElementModel) parent).getSubElements();
-				int size = (oldValues == null) ? 0 : oldValues.length;
-				ConfigurationElementModel[] newValues = new ConfigurationElementModel[size + 1];
-				for (int i = 0; i < size; i++) {
-					newValues[i] = oldValues[i];
-				}
-				newValues[size] = currentConfigElement;
-				((ConfigurationElementModel) parent).setSubElements(newValues);
-			}
-			break;
-	}
-}
-public void error(SAXParseException ex) {
-	logStatus(ex);
-}
-public void fatalError(SAXParseException ex) throws SAXException {
-	logStatus(ex);
-	throw ex;
-}
-
-public void handleExtensionPointState(String elementName, Attributes attributes) {
-
-	// We ignore all elements under extension points (if there are any)
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", EXTENSION_POINT, elementName)); //$NON-NLS-1$
-}
-public void handleExtensionState(String elementName, Attributes attributes) {
-
-	// You need to change the state here even though we will be executing the same
-	// code for ExtensionState and ConfigurationElementState.  We ignore the name
-	// of the element for ConfigurationElements.  When we are wrapping up, we will
-	// want to add each configuration element object to the subElements vector of
-	// its parent configuration element object.  However, the first configuration
-	// element object we created (the last one we pop off the stack) will need to
-	// be added to a vector in the extension object called _configuration.
-	stateStack.push(new Integer(CONFIGURATION_ELEMENT_STATE));
-
-	// create a new Configuration Element and push it onto the object stack
-	ConfigurationElementModel currentConfigurationElement = factory.createConfigurationElement();
-	objectStack.push(currentConfigurationElement);
-	currentConfigurationElement.setName(elementName);
-
-	// Processing the attributes of a configuration element involves creating
-	// a new configuration property for each attribute and populating the configuration
-	// property with the name/value pair of the attribute.  Note there will be one
-	// configuration property for each attribute
-	parseConfigurationElementAttributes(attributes);
-}
-public void handleInitialState(String elementName, Attributes attributes) {
-	if (elementName.equals(PLUGIN)) {
-		stateStack.push(new Integer(PLUGIN_STATE));
-		parsePluginAttributes(attributes);
-	} else
-		if (elementName.equals(FRAGMENT)) {
-			stateStack.push(new Integer(FRAGMENT_STATE));
-			parseFragmentAttributes(attributes);
-		} else {
-			stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-			internalError(Policy.bind("parse.unknownTopElement", elementName)); //$NON-NLS-1$
-		}
-}
-public void handleLibraryExportState(String elementName, Attributes attributes) {
-
-	// All elements ignored.
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", LIBRARY_EXPORT, elementName)); //$NON-NLS-1$
-}
-public void handleLibraryState(String elementName, Attributes attributes) {
-	if (elementName.equals(LIBRARY_EXPORT)) {
-		// Change State
-		stateStack.push(new Integer(LIBRARY_EXPORT_STATE));
-		// The top element on the stack much be a library element
-		LibraryModel currentLib = (LibraryModel) objectStack.peek();
-	
-		if (attributes == null)
-			return;
-	
-		String maskValue = null;
-	
-		// Process Attributes
-		int len = attributes.getLength();
-		for (int i = 0; i < len; i++) {
-			String attrName = attributes.getLocalName(i);
-			String attrValue = attributes.getValue(i).trim();
-	
-			if (attrName.equals(LIBRARY_EXPORT_MASK))
-				maskValue = attrValue;
-			else 
-				internalError(Policy.bind("parse.unknownAttribute", LIBRARY, attrName)); //$NON-NLS-1$
-		}
-	
-		// set up mask tables
-		// pop off the library - already in currentLib
-		objectStack.pop();
-		Vector exportMask = (Vector)objectStack.peek();
-		// push library back on
-		objectStack.push(currentLib);
-		if ((maskValue != null) && (!exportMask.contains(maskValue)))
-			exportMask.addElement(maskValue);
-		return;
-	}
-	
-	if (elementName.equals(LIBRARY_PACKAGES)) {
-		LibraryModel currentLib = (LibraryModel) objectStack.peek();
-		if (attributes == null)
-			return;
-		for (int i=0; i<attributes.getLength(); i++) {
-			if (LIBRARY_PACKAGES_PREFIXES.equals(attributes.getLocalName(i))) {
-				String line = attributes.getValue(i);
-				String[] prefixes = getArrayFromList(line);
-				currentLib.setPackagePrefixes(prefixes);
-			}
-		}
-		return;
-	}
-
-	// Any other element is invalid
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", LIBRARY, elementName)); //$NON-NLS-1$
-	return;
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-protected static String[] getArrayFromList(String line) {
-	if (line == null || line.trim().length()  == 0)
-		return null;
-	Vector list = new Vector();
-	StringTokenizer tokens = new StringTokenizer(line, ","); //$NON-NLS-1$
-	while (tokens.hasMoreTokens()) {
-		String token = tokens.nextToken().trim();
-		if (token.length() != 0)
-			list.addElement(token);
-	}
-	return list.isEmpty() ? null : (String[]) list.toArray(new String[0]);
-}
-
-public void handlePluginState(String elementName, Attributes attributes) {
-
-	if (elementName.equals(RUNTIME)) {
-		// We should only have one Runtime element in a plugin or fragment
-		Object whatIsIt = objectStack.peek();
-		if ( ( (whatIsIt instanceof PluginDescriptorModel) && (((PluginDescriptorModel)objectStack.peek()).getRuntime() != null) ) ||
-		     ( (whatIsIt instanceof PluginFragmentModel) && (((PluginFragmentModel)objectStack.peek()).getRuntime() != null) ) ) {
-			// This is at least the 2nd Runtime element we have
-			// hit.  Ignore it and give an error.
-			stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-			return;
-		}
-		stateStack.push(new Integer(PLUGIN_RUNTIME_STATE));
-		// Push a new vector to hold all the library entries
-		objectStack.push(new Vector());
-		return;
-	}
-	if (elementName.equals(PLUGIN_REQUIRES)) {
-		stateStack.push(new Integer(PLUGIN_REQUIRES_STATE));
-		// Push a new vector to hold all the prerequisites
-		objectStack.push(new Vector());
-		parseRequiresAttributes(attributes);
-		return;
-	}
-	if (elementName.equals(EXTENSION_POINT)) {
-		stateStack.push(new Integer(PLUGIN_EXTENSION_POINT_STATE));
-		parseExtensionPointAttributes(attributes);
-		return;
-	}
-	if (elementName.equals(EXTENSION)) {
-		stateStack.push(new Integer(PLUGIN_EXTENSION_STATE));
-		parseExtensionAttributes(attributes);
-		return;
-	}
-
-	// If we get to this point, the element name is one we don't currently accept.
-	// Set the state to indicate that this element will be ignored
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", PLUGIN + " / " + FRAGMENT, elementName)); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void handleRequiresImportState(String elementName, Attributes attributes) {
-
-	// All elements ignored.
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", PLUGIN_REQUIRES_IMPORT, elementName)); //$NON-NLS-1$
-}
-public void handleRequiresState(String elementName, Attributes attributes) {
-
-	if (elementName.equals(PLUGIN_REQUIRES_IMPORT)) {
-		parsePluginRequiresImport(attributes);
-		return;
-	}
-	// If we get to this point, the element name is one we don't currently accept.
-	// Set the state to indicate that this element will be ignored
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", PLUGIN_REQUIRES, elementName)); //$NON-NLS-1$
-}
-public void handleRuntimeState(String elementName, Attributes attributes) {
-
-	if (elementName.equals(LIBRARY)) {
-		// Change State
-		stateStack.push(new Integer(RUNTIME_LIBRARY_STATE));
-		// Process library attributes
-		parseLibraryAttributes(attributes);
-		return;
-	}
-	// If we get to this point, the element name is one we don't currently accept.
-	// Set the state to indicate that this element will be ignored
-	stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-	internalError(Policy.bind("parse.unknownElement", RUNTIME, elementName)); //$NON-NLS-1$
-}
-
-public void ignoreableWhitespace(char[] ch, int start, int length) {
-}
-private void logStatus(SAXParseException ex) {
-	String name = ex.getSystemId();
-	if (name == null)
-		name = locationName;
-	if (name == null) 
-		name = ""; //$NON-NLS-1$
-	else
-		name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
-	String msg;
-	if (name.equals("")) //$NON-NLS-1$
-		msg = Policy.bind("parse.error", ex.getMessage()); //$NON-NLS-1$
-	else
-		msg = Policy.bind("parse.errorNameLineColumn", //$NON-NLS-1$
-			new String[] { name, Integer.toString(ex.getLineNumber()), Integer.toString(ex.getColumnNumber()), ex.getMessage()});
-	factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, msg, ex));
-}
-
-synchronized public PluginModel parsePlugin(InputSource in) throws Exception {
-	locationName = in.getSystemId();
-	parser.parse(in);
-	return (PluginModel) objectStack.pop();
-}
-
-public void parseConfigurationElementAttributes(Attributes attributes) {
-
-	ConfigurationElementModel parentConfigurationElement = (ConfigurationElementModel) objectStack.peek();
-	parentConfigurationElement.setStartLine(locator.getLineNumber());
-
-	Vector propVector = null;
-
-	// process attributes
-	int len = (attributes != null) ? attributes.getLength() : 0;
-	if (len == 0)
-		return;
-	propVector = new Vector();
-
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i);
-
-		ConfigurationPropertyModel currentConfigurationProperty = factory.createConfigurationProperty();
-		currentConfigurationProperty.setName(attrName);
-		currentConfigurationProperty.setValue(attrValue);
-		propVector.addElement(currentConfigurationProperty);
-	}
-	parentConfigurationElement.setProperties((ConfigurationPropertyModel[]) propVector.toArray(new ConfigurationPropertyModel[propVector.size()]));
-	propVector = null;
-}
-public void parseExtensionAttributes(Attributes attributes) {
-
-	PluginModel parent = (PluginModel) objectStack.peek();
-	ExtensionModel currentExtension = factory.createExtension();
-	currentExtension.setStartLine(locator.getLineNumber());
-	objectStack.push(currentExtension);
-
-	// Process Attributes
-	int len = (attributes != null) ? attributes.getLength() : 0;
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(EXTENSION_NAME))
-			currentExtension.setName(attrValue);
-		else
-			if (attrName.equals(EXTENSION_ID))
-				currentExtension.setId(attrValue);
-			else
-				if (attrName.equals(EXTENSION_TARGET)) {
-					// check if point is specified as a simple or qualified name
-					String targetName;
-					if (attrValue.lastIndexOf('.') == -1) {
-						String baseId = parent instanceof PluginDescriptorModel ? parent.getId() : ((PluginFragmentModel) parent).getPlugin();
-						targetName = baseId + "." + attrValue; //$NON-NLS-1$
-					} else
-						targetName = attrValue;
-					currentExtension.setExtensionPoint(targetName);
-				}
-				else
-					internalError(Policy.bind("parse.unknownAttribute", EXTENSION, attrName)); //$NON-NLS-1$
-	}
-}
-public void parseExtensionPointAttributes(Attributes attributes) {
-
-	ExtensionPointModel currentExtPoint = factory.createExtensionPoint();
-	currentExtPoint.setStartLine(locator.getLineNumber());
-
-	// Process Attributes
-	int len = (attributes != null) ? attributes.getLength() : 0;
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(EXTENSION_POINT_NAME))
-			currentExtPoint.setName(attrValue);
-		else
-			if (attrName.equals(EXTENSION_POINT_ID))
-				currentExtPoint.setId(attrValue);
-			else
-				if (attrName.equals(EXTENSION_POINT_SCHEMA))
-					currentExtPoint.setSchema(attrValue);
-				else
-					internalError(Policy.bind("parse.unknownAttribute", EXTENSION_POINT, attrName)); //$NON-NLS-1$
-	}
-	// currentExtPoint contains a pointer to the parent plugin descriptor.
-	PluginModel root = (PluginModel) objectStack.peek();
-	currentExtPoint.setParent(root);
-
-	// Now populate the the vector just below us on the objectStack with this extension point
-	scratchVectors[EXTENSION_POINT_INDEX].addElement(currentExtPoint);
-}
-
-public void parseFragmentAttributes(Attributes attributes) {
-	PluginFragmentModel current = factory.createPluginFragment();
-	current.setStartLine(locator.getLineNumber());
-	objectStack.push(current);
-
-	// process attributes
-	int len = attributes.getLength();
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(FRAGMENT_ID))
-			current.setId(attrValue);
-		else if (attrName.equals(FRAGMENT_NAME))
-			current.setName(attrValue);
-		else if (attrName.equals(FRAGMENT_VERSION))
-			current.setVersion(attrValue);
-		else if (attrName.equals(FRAGMENT_PROVIDER))
-			current.setProviderName(attrValue);
-		else if (attrName.equals(FRAGMENT_PLUGIN_ID))
-			current.setPlugin(attrValue);
-		else if (attrName.equals(FRAGMENT_PLUGIN_VERSION))
-			current.setPluginVersion(attrValue);
-		else if (attrName.equals(FRAGMENT_PLUGIN_MATCH)) {
-			if (FRAGMENT_PLUGIN_MATCH_PERFECT.equals(attrValue))
-				current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
-			else if (FRAGMENT_PLUGIN_MATCH_EQUIVALENT.equals(attrValue))
-				current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT);
-			else if (FRAGMENT_PLUGIN_MATCH_COMPATIBLE.equals(attrValue))
-				current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE);
-			else if (FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL.equals(attrValue))
-				current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL);
-			else
-				internalError(Policy.bind("parse.validMatch", attrValue)); //$NON-NLS-1$
-		}
-		else
-			internalError(Policy.bind("parse.unknownAttribute", FRAGMENT, attrName)); //$NON-NLS-1$
-	}
-}
-
-public void parseLibraryAttributes(Attributes attributes) {
-	// Push a vector to hold the export mask 
-	objectStack.push (new Vector());
-	LibraryModel current = factory.createLibrary();
-	current.setStartLine(locator.getLineNumber());
-	objectStack.push(current);
-	
-	// Now the objectStack should contain the following:
-	//	plugin descriptor or fragment (bottom of the stack)
-	//	vector to hold all the library entries
-	//  vector to hold the export mask for this library entry
-	//  this library entry (top of the stack)
-
-	// process attributes
-	int len = (attributes != null) ? attributes.getLength() : 0;
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(LIBRARY_NAME))
-			current.setName(attrValue);
-		else
-			if (attrName.equals(LIBRARY_TYPE)) {
-				attrValue = attrValue.toLowerCase();
-				if (attrValue.equals(LibraryModel.CODE) || 
-				     attrValue.equals(LibraryModel.RESOURCE))
-					current.setType(attrValue.toLowerCase());
-				else
-					internalError(Policy.bind("parse.unknownLibraryType", attrValue, current.getName())); //$NON-NLS-1$
-			} else
-				internalError(Policy.bind("parse.unknownAttribute", LIBRARY, attrName)); //$NON-NLS-1$
-	}
-}
-public void parsePluginAttributes(Attributes attributes) {
-
-	PluginDescriptorModel current = factory.createPluginDescriptor();
-	current.setStartLine(locator.getLineNumber());
-	objectStack.push(current);
-
-	// process attributes
-	int len = attributes.getLength();
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(PLUGIN_ID))
-			current.setId(attrValue);
-		else
-			if (attrName.equals(PLUGIN_NAME))
-				current.setName(attrValue);
-			else
-				if (attrName.equals(PLUGIN_VERSION))
-					current.setVersion(attrValue);
-				else
-					if (attrName.equals(PLUGIN_VENDOR) || (attrName.equals(PLUGIN_PROVIDER)))
-						current.setProviderName(attrValue);
-					else
-						if (attrName.equals(PLUGIN_CLASS))
-							current.setPluginClass(attrValue);
-						else
-							internalError(Policy.bind("parse.unknownAttribute", PLUGIN, attrName)); //$NON-NLS-1$
-	}
-}
-public void parsePluginRequiresImport(Attributes attributes) {
-	PluginPrerequisiteModel current = factory.createPluginPrerequisite();
-	current.setStartLine(locator.getLineNumber());
-
-	// process attributes
-	int len = (attributes != null) ? attributes.getLength() : 0;
-	for (int i = 0; i < len; i++) {
-		String attrName = attributes.getLocalName(i);
-		String attrValue = attributes.getValue(i).trim();
-
-		if (attrName.equals(PLUGIN_REQUIRES_PLUGIN))
-			current.setPlugin(attrValue);
-		else
-			if (attrName.equals(PLUGIN_REQUIRES_PLUGIN_VERSION))
-				current.setVersion(attrValue);
-			else
-				if (attrName.equals(PLUGIN_REQUIRES_OPTIONAL))
-					current.setOptional(TRUE.equalsIgnoreCase(attrValue));
-				else
-					if (attrName.equals(PLUGIN_REQUIRES_MATCH)) {
-						if (PLUGIN_REQUIRES_MATCH_PERFECT.equals(attrValue))
-							current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-						else if ((PLUGIN_REQUIRES_MATCH_EQUIVALENT.equals(attrValue)) ||
-						          (PLUGIN_REQUIRES_MATCH_EXACT.equals(attrValue)))
-							current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-						else if (PLUGIN_REQUIRES_MATCH_COMPATIBLE.equals(attrValue))
-							current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-						else if (PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL.equals(attrValue))
-							current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-						else
-							internalError(Policy.bind("parse.validMatch", attrValue)); //$NON-NLS-1$
-					} else
-						if (attrName.equals(PLUGIN_REQUIRES_EXPORT)) {
-							if (TRUE.equals(attrValue))
-								current.setExport(true);
-							else
-								if (FALSE.equals(attrValue))
-									current.setExport(false);
-								else
-									internalError(Policy.bind("parse.validExport", attrValue)); //$NON-NLS-1$
-						} else
-							internalError(Policy.bind("parse.unknownAttribute", PLUGIN_REQUIRES_IMPORT, attrName)); //$NON-NLS-1$
-
-	}
-	// Populate the vector of prerequisites with this new element
-	((Vector)objectStack.peek()).addElement(current);
-}
-public void parseRequiresAttributes(Attributes attributes) {
-}
-
-static String replace(String s, String from, String to) {
-	String str = s;
-	int fromLen = from.length();
-	int toLen = to.length();
-	int ix = str.indexOf(from);
-	while (ix != -1) {
-		str = str.substring(0, ix) + to + str.substring(ix + fromLen);
-		ix = str.indexOf(from, ix + toLen);
-	}
-	return str;
-}
-public void startDocument() {
-	stateStack.push(new Integer(INITIAL_STATE));
-	for (int i = 0; i <= LAST_INDEX; i++) {
-		scratchVectors[i] = new Vector();
-	}
-}
-public void startElement(String uri, String elementName, String qName, Attributes attributes) {
-	switch (((Integer) stateStack.peek()).intValue()) {
-		case INITIAL_STATE :
-			handleInitialState(elementName, attributes);
-			break;
-		case FRAGMENT_STATE :
-			handlePluginState(elementName, attributes);
-			break;
-		case PLUGIN_STATE :
-			handlePluginState(elementName, attributes);
-			break;
-		case PLUGIN_RUNTIME_STATE :
-			handleRuntimeState(elementName, attributes);
-			break;
-		case PLUGIN_REQUIRES_STATE :
-			handleRequiresState(elementName, attributes);
-			break;
-		case PLUGIN_EXTENSION_POINT_STATE :
-			handleExtensionPointState(elementName, attributes);
-			break;
-		case PLUGIN_EXTENSION_STATE :
-		case CONFIGURATION_ELEMENT_STATE :
-			handleExtensionState(elementName, attributes);
-			break;
-		case RUNTIME_LIBRARY_STATE :
-			handleLibraryState(elementName, attributes);
-			break;
-		case LIBRARY_EXPORT_STATE :
-			handleLibraryExportState(elementName, attributes);
-			break;
-		case PLUGIN_REQUIRES_IMPORT_STATE :
-			handleRequiresImportState(elementName, attributes);
-			break;
-		default :
-			stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
-			internalError (Policy.bind("parse.unknownTopElement", elementName)); //$NON-NLS-1$
-	}
-}
-public void warning(SAXParseException ex) {
-	logStatus(ex);
-}
-private void internalError(String message) {
-	if (locationName != null)
-		factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, locationName + ": " + message, null)); //$NON-NLS-1$
-	else
-		factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null));
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
deleted file mode 100644
index 46bbcf8..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginPrerequisite extends PluginPrerequisiteModel implements IPluginPrerequisite {
-/**
- * @see IPluginPrerequisite
- */
-public PluginVersionIdentifier getResolvedVersionIdentifier() {
-	String version = getResolvedVersion();
-	return version == null ? null : new PluginVersionIdentifier(version);
-}
-/**
- * @see IPluginPrerequisite
- */
-public String getUniqueIdentifier() {
-	return getPlugin();
-}
-/**
- * @see IPluginPrerequisite
- */
-public PluginVersionIdentifier getVersionIdentifier() {
-	String version = getVersion();
-	return version == null ? null : new PluginVersionIdentifier(version);
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isExported() {
-	return getExport();
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsGreaterOrEqual() {
-	return getMatchByte() == PREREQ_MATCH_GREATER_OR_EQUAL;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsCompatible() {
-	return (getMatchByte() == PREREQ_MATCH_COMPATIBLE) ||
-	        ((getVersionIdentifier() != null) && (getMatchByte() == PREREQ_MATCH_UNSPECIFIED));
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsEquivalent() {
-	return getMatchByte() == PREREQ_MATCH_EQUIVALENT;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsPerfect() {
-	return getMatchByte() == PREREQ_MATCH_PERFECT;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsExact() {
-	return isMatchedAsEquivalent();
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isOptional() {
-	return getOptional();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
deleted file mode 100644
index d083486..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginRegistry extends PluginRegistryModel implements IPluginRegistry {
-
-	private static final String URL_PROTOCOL_FILE = "file"; //$NON-NLS-1$
-	private static final String F_DEBUG_REGISTRY = ".debugregistry"; //$NON-NLS-1$
-
-	// lifecycle events
-	private static final int STARTUP = 0;
-	private static final int SHUTDOWN = 1;
-	
-	// the registry keeps a reference to the cache reader for lazily loading extensions
-	private RegistryCacheReader registryCacheReader;
-	final private File registryCacheFile;
-
-public PluginRegistry() {
-	this.registryCacheFile = InternalPlatform.getMetaArea().getRegistryPath().toFile();
-}  
-/**
- * Iterate over the plug-ins in this registry.  Plug-ins are visited in dependent order.  That is, 
- * a plug-in, A, which requires another plug-in, B, is visited before its dependents (i.e., A is 
- * visited before B).  
- */
-public void accept(IPluginVisitor visitor, boolean activeOnly) {
-	Map dependents = getDependentCounts(activeOnly);
-	// keep iterating until all have been visited.
-	while (!dependents.isEmpty()) {
-		// loop over the dependents list.  For each entry, if there are no dependents, visit
-		// the plugin and remove it from the list.  Make a copy of the keys so we don't end up
-		// with concurrent accesses (since we are deleting the values as we go)
-		PluginDescriptor[] keys = (PluginDescriptor[]) dependents.keySet().toArray(new PluginDescriptor[dependents.size()]);
-		for (int i = 0; i < keys.length; i++) {
-			PluginDescriptor descriptor = keys[i];
-			Integer entry = (Integer) dependents.get(descriptor);
-			if (entry != null && entry.intValue() <= 0) {
-				visitor.visit(descriptor);
-				dependents.remove(descriptor);
-				// decrement the dependent count for all of the prerequisites.
-				PluginPrerequisiteModel[] requires = descriptor.getRequires();
-				int reqSize = (requires == null) ? 0 : requires.length;
-				for (int j = 0; j < reqSize; j++) {
-					String id = ((PluginPrerequisite) requires[j]).getUniqueIdentifier();
-					PluginDescriptor prereq = (PluginDescriptor) getPlugin(id);
-					Integer count = (Integer) dependents.get(prereq);
-					if (count != null)
-						dependents.put(prereq, new Integer(count.intValue() - 1));
-				}
-			}
-		}
-	}
-}
-public IConfigurationElement[] getConfigurationElementsFor(String uniqueId) {
-	IExtensionPoint point = getExtensionPoint(uniqueId);
-	if (point == null)
-		return new IConfigurationElement[0];
-	IConfigurationElement[] result = point.getConfigurationElements();
-	return result == null ? new IConfigurationElement[0] : result;
-}
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String pointId) {
-	IExtensionPoint point = getExtensionPoint(pluginId, pointId);
-	if (point == null)
-		return new IConfigurationElement[0];
-	IConfigurationElement[] result = point.getConfigurationElements();
-	return result == null ? new IConfigurationElement[0] : result;
-}
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String pointId, String extensionId) {
-	IExtension extension = getExtension(pluginId, pointId, extensionId);
-	if (extension == null)
-		return new IConfigurationElement[0];
-	IConfigurationElement[] result = extension.getConfigurationElements();
-	return result == null ? new IConfigurationElement[0] : result;
-}
-/**
- * Returns a map of the dependent counts for all plug-ins.  The map's
- * keys are the plug-in descriptors and the values are an (<code>Integer</code>) count of
- * descriptors which depend on that plug-in.
- */
-private Map getDependentCounts(boolean activeOnly) {
-	IPluginDescriptor[] descriptors = getPluginDescriptors();
-	int descSize = (descriptors == null) ? 0 : descriptors.length;
-	Map dependents = new HashMap(5);
-	// build a table of all dependent counts.  The table is keyed by descriptor and
-	// the value the integer number of dependent plugins.
-	for (int i = 0; i < descSize; i++) {
-		if (activeOnly && !descriptors[i].isPluginActivated())
-			continue;
-		// ensure there is an entry for this descriptor (otherwise it will not be visited)
-		Integer entry = (Integer) dependents.get(descriptors[i]);
-		if (entry == null)
-			dependents.put(descriptors[i], new Integer(0));
-		PluginPrerequisiteModel[] requires = ((PluginDescriptor) descriptors[i]).getRequires();
-		int reqSize = (requires == null ? 0 : requires.length);
-		for (int j = 0; j < reqSize; j++) {
-			String id = ((PluginPrerequisite) requires[j]).getUniqueIdentifier();
-			PluginDescriptor prereq = (PluginDescriptor) getPlugin(id);
-			if (prereq == null || activeOnly && !prereq.isPluginActivated())
-				continue;
-			entry = (Integer) dependents.get(prereq);
-			entry = entry == null ? new Integer(1) : new Integer(entry.intValue() + 1);
-			dependents.put(prereq, entry);
-		}
-	}
-	return dependents;
-}
-public IExtension getExtension(String xptUniqueId, String extUniqueId) {
-
-	int lastdot = xptUniqueId.lastIndexOf('.');
-	if (lastdot == -1) return null;
-	return getExtension(xptUniqueId.substring(0,lastdot), xptUniqueId.substring(lastdot+1), extUniqueId); 
-	
-}
-public IExtension getExtension(String pluginId, String xptSimpleId, String extId) {
-
-	IExtensionPoint xpt = getExtensionPoint(pluginId, xptSimpleId);
-	if (xpt == null) return null;
-	return xpt.getExtension(extId);
-}
-public IExtensionPoint getExtensionPoint(String  xptUniqueId) {
-
-	int lastdot = xptUniqueId.lastIndexOf('.');
-	if (lastdot == -1) return null;
-	return getExtensionPoint(xptUniqueId.substring(0,lastdot), xptUniqueId.substring(lastdot+1)); 
-}
-public IExtensionPoint getExtensionPoint(String plugin, String xpt) {
-
-	IPluginDescriptor pd = getPluginDescriptor(plugin);
-	if (pd == null) return null;
-	return pd.getExtensionPoint(xpt);
-}
-public IExtensionPoint[] getExtensionPoints() {
-	PluginDescriptorModel[] list = getPlugins();
-	if (list == null)
-		return new IExtensionPoint[0];
-	ArrayList result = new ArrayList();
-	for (int i = 0; i < list.length; i++) {
-		ExtensionPointModel[] pointList = list[i].getDeclaredExtensionPoints();
-		if (pointList != null) {
-			for (int j = 0; j < pointList.length; j++)
-				result.add(pointList[j]);
-		}
-	}
-	return (IExtensionPoint[]) result.toArray(new IExtensionPoint[result.size()]);
-}
-public IPluginDescriptor getPluginDescriptor(String plugin) {
-	return (IPluginDescriptor) getPlugin(plugin);
-}
-public IPluginDescriptor getPluginDescriptor(String pluginId, PluginVersionIdentifier version) {
-	PluginDescriptorModel[] plugins = getPlugins(pluginId);
-	if (plugins == null || plugins.length == 0)
-		return null;
-	if (version == null)
-		// Just return the first one in the list (random)
-		return (IPluginDescriptor) plugins[0];
-	for (int i = 0; i < plugins.length; i++) {
-		IPluginDescriptor element = (IPluginDescriptor) plugins[i];
-		if (element.getVersionIdentifier().equals(version))
-			return element;
-	}
-	return null;
-}
-public IPluginDescriptor[] getPluginDescriptors() {
-	PluginDescriptorModel[] plugins = getPlugins();
-	if (plugins==null)
-		return new IPluginDescriptor[0];
-	IPluginDescriptor[] result = new IPluginDescriptor[plugins.length];
-	for (int i = 0; i < plugins.length; i++)
-		result[i] = (IPluginDescriptor) plugins[i];
-	return result;
-}
-public IPluginDescriptor[] getPluginDescriptors(String plugin) {
-	PluginDescriptorModel[] plugins = getPlugins(plugin);
-	if (plugins==null)
-		return new IPluginDescriptor[0];
-	IPluginDescriptor[] result = new IPluginDescriptor[plugins.length];
-	System.arraycopy(plugins, 0, result, 0, plugins.length);
-	return result;
-}
-void logError(IStatus status) {
-	InternalPlatform.getRuntimePlugin().getLog().log(status);
-	if (InternalPlatform.DEBUG)
-		System.out.println(status.getMessage());
-}
-public void saveRegistry() throws IOException {
-	IPath path = InternalPlatform.getMetaArea().getRegistryPath();
-	if (path.toFile().exists()) {
-		// The registry cache file exists.  Assume it is fine and
-		// we don't need to re-write it.
-		return;
-	}
-	DataOutputStream output = null;
-	try {
-		output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(path.toFile())));
-	} catch (IOException ioe) {
-		String message = Policy.bind("meta.unableToCreateCache"); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, ioe);
-		logError(status);
-	}
-	try {
-		long start = System.currentTimeMillis();
-		RegistryCacheWriter cacheWriter = new RegistryCacheWriter();
-		cacheWriter.writePluginRegistry(this, output);
-		if (InternalPlatform.DEBUG)
-			System.out.println("Wrote registry: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-	} finally {
-		output.close();
-	}
-}
-public void flushRegistry() {
-	IPath path = InternalPlatform.getMetaArea().getRegistryPath();
-	IPath tempPath = InternalPlatform.getMetaArea().getBackupFilePathFor(path);
-	path.toFile().delete();
-	tempPath.toFile().delete();
-}
-public void debugRegistry(String filename) {
-	Path path = new Path(filename);
-	path = (Path)path.makeAbsolute();
-	if (!path.isValidPath(path.toOSString())) {
-		String message = Policy.bind("meta.invalidRegDebug", path.toOSString()); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
-		logError(status);
-		return;
-	}
-		
-	try {
-		FileOutputStream fs = new FileOutputStream(path.toOSString());
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			RegistryWriter regWriter = new RegistryWriter();
-			System.out.println(Policy.bind("meta.infoRegDebug", path.toOSString())); //$NON-NLS-1$
-			regWriter.writePluginRegistry(this, w, 0);
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		String message = Policy.bind("meta.unableToCreateRegDebug", path.toOSString()); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, ioe);
-		logError(status);
-	}
-}
-public void flushDebugRegistry() {
-	IPath path = InternalPlatform.getMetaArea().getLocation().append(F_DEBUG_REGISTRY);
-	path.toFile().delete();
-}
-public void shutdown(IProgressMonitor progress) {
-	shutdownPlugins();
-	if (progress != null)
-		progress.worked(1);
-}
-private void shutdownPlugins() {
-	IPluginVisitor visitor = new IPluginVisitor() {
-		public void visit(final IPluginDescriptor descriptor) {
-			ISafeRunnable code = new ISafeRunnable() {
-				public void run() throws Exception {
-					if (!descriptor.isPluginActivated())
-						return;
-					try {
-						Plugin plugin = descriptor.getPlugin();
-						long time = 0L;
-						if (InternalPlatform.DEBUG_SHUTDOWN) {
-							time = System.currentTimeMillis();
-							System.out.println("Shutting down plugin: " + plugin.getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
-						}
-						plugin.shutdown();
-						if (InternalPlatform.DEBUG_SHUTDOWN) {
-							time = System.currentTimeMillis() - time;
-							System.out.println("Finished plugin shutdown for " + plugin.getDescriptor().getUniqueIdentifier() + " time: " + time + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						}
-					} finally {
-						((PluginDescriptor) descriptor).doPluginDeactivation();
-					}
-				}
-				public void handleException(Throwable e) {
-					// do nothing as the exception has already been logged.
-				}
-			};
-			InternalPlatform.run(code);
-		}
-	};
-	accept(visitor, true);
-}
-public void startup(IProgressMonitor progress) {}
-/**
- * Loads an extension model's sub-elements.
- */
-final void loadConfigurationElements(Extension extension) {
-	DataInputStream input = null;	
-	try {
-		input = new DataInputStream(new BufferedInputStream(new FileInputStream(registryCacheFile)));
-		input.skipBytes(extension.getSubElementsCacheOffset());					
-		ConfigurationElementModel[] subElements = this.registryCacheReader.readSubElements(input, extension, InternalPlatform.DEBUG);
-		extension.setSubElements(subElements);
-		extension.setFullyLoaded(true);
-		// to force the just loaded sub-elements to be read-only as their parent
-		if (extension.isReadOnly())
-			extension.markReadOnly();
-	} catch (IOException e) {
-		// an I/O failure would keep the extension elements unloaded
-		//TODO: log this exception?
-		if (InternalPlatform.DEBUG)
-			e.printStackTrace();
-	} catch (RegistryCacheReader.InvalidRegistryCacheException e) {
-		// it has already been checked by RegistryCacheLazyReader - shouldn't happen
-		if (InternalPlatform.DEBUG)
-			e.printStackTrace();		
-	} finally {
-		try {
-			if (input != null)
-				input.close();
-		} catch (IOException ioe) {
-		}
-	}
-}
-void setCacheReader(RegistryCacheReader registryCacheReader) {
-	this.registryCacheReader = registryCacheReader;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
deleted file mode 100644
index 66c4b86..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
+++ /dev/null
@@ -1,1625 +0,0 @@
- /**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryCacheReader {
-
-	Factory cacheFactory;
-	// objectTable will be an array list of objects.  The objects will be things 
-	// like a plugin descriptor, extension point, etc.  The integer 
-	// index value will be used in the cache to allow cross-references in the 
-	// cached registry.
-	protected List objectTable = null;
-
-	private boolean lazilyLoadExtensions;
-
-	private MultiStatus cacheReadProblems = null;
-
-	public static final byte REGISTRY_CACHE_VERSION = 11;
-
-	public static final byte NONLABEL = 0;
-
-	public static final byte CONFIGURATION_ELEMENT_END_LABEL = 1;
-	public static final byte CONFIGURATION_ELEMENT_LABEL = 2;
-
-	public static final byte CONFIGURATION_PROPERTY_END_LABEL = 4;
-	public static final byte CONFIGURATION_PROPERTY_LABEL = 5;
-
-	public static final byte EXTENSION_END_LABEL = 6;
-	public static final byte EXTENSION_EXT_POINT_NAME_LABEL = 7;
-	public static final byte EXTENSION_INDEX_LABEL = 8;
-	public static final byte EXTENSION_PARENT_LABEL = 9;
-
-	public static final byte EXTENSION_POINT_END_LABEL = 10;
-	public static final byte EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL = 11;
-	public static final byte EXTENSION_POINT_EXTENSIONS_LABEL = 12;
-	public static final byte EXTENSION_POINT_PARENT_LABEL = 13;
-	public static final byte EXTENSION_POINT_SCHEMA_LABEL = 14;
-	public static final byte EXTENSION_POINT_INDEX_LABEL = 56;
-	
-	public static final byte FRAGMENT_INDEX_LABEL = 47;
-	public static final byte FRAGMENT_LABEL = 48;
-	public static final byte FRAGMENT_END_LABEL = 49;
-	public static final byte FRAGMENT_PLUGIN_LABEL = 50;
-	public static final byte FRAGMENT_PLUGIN_VERSION_LABEL = 51;
-	public static final byte FRAGMENT_PLUGIN_MATCH_LABEL = 55;
-	
-	public static final byte ID_LABEL = 15;
-	public static final byte LIBRARY_END_LABEL = 16;
-	public static final byte LIBRARY_EXPORTS_LABEL = 17;
-	public static final byte LIBRARY_EXPORTS_LENGTH_LABEL = 18;
-	public static final byte LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL = 60;
-	public static final byte LIBRARY_PACKAGES_PREFIXES_LABEL = 61;
-	public static final byte NAME_LABEL = 19;
-	public static final byte LIBRARY_INDEX_LABEL = 57;
-	public static final byte START_LINE = 59;
-	
-	public static final byte PLUGIN_CLASS_LABEL = 20;
-	public static final byte PLUGIN_ENABLED_LABEL = 21;
-	public static final byte PLUGIN_END_LABEL = 22;
-	public static final byte PLUGIN_EXTENSION_LABEL = 23;
-	public static final byte PLUGIN_EXTENSION_POINT_LABEL = 24;
-	public static final byte PLUGIN_INDEX_LABEL = 25;
-	public static final byte PLUGIN_LABEL = 26;
-	public static final byte PLUGIN_LOCATION_LABEL = 27;
-	public static final byte PLUGIN_LIBRARY_LABEL = 28;
-	public static final byte PLUGIN_PARENT_LABEL = 29;
-	public static final byte PLUGIN_PROVIDER_NAME_LABEL = 30;
-	public static final byte PLUGIN_REQUIRES_LABEL = 31;
-
-	public static final byte PROPERTIES_LENGTH_LABEL = 32;
-	public static final byte READONLY_LABEL = 33;
-	public static final byte REGISTRY_END_LABEL = 34;
-	public static final byte REGISTRY_INDEX_LABEL = 46;
-	public static final byte REGISTRY_LABEL = 35;
-	public static final byte REGISTRY_RESOLVED_LABEL = 36;
-	public static final byte REQUIRES_END_LABEL = 37;
-	public static final byte REQUIRES_EXPORT_LABEL = 38;
-	public static final byte REQUIRES_MATCH_LABEL = 39;
-	public static final byte REQUIRES_OPTIONAL_LABEL = 52;
-	public static final byte REQUIRES_PLUGIN_NAME_LABEL = 40;
-	public static final byte REQUIRES_RESOLVED_VERSION_LABEL = 41;
-	public static final byte REQUIRES_INDEX_LABEL = 58;
-	public static final byte SOURCE_LABEL = 53;
-	public static final byte SUBELEMENTS_LENGTH_LABEL = 42;
-	public static final byte TYPE_LABEL = 54;
-	public static final byte VALUE_LABEL = 43;
-	public static final byte VERSION_LABEL = 44;
-	public static final byte SUBELEMENTS_LABEL = 62;
-	
-	// So it's easier to add a new label ...
-	public static final byte LARGEST_LABEL = 62;
-	
-	// String constants for those byte values in the cache that
-	// do not translate directly to strings found in manifest xml
-	// files.  For example, the 'location' of a plugin or fragment
-	// is not listed in a plugin.xml file.  The parser fills in 
-	// this field after the plugin.xml file has been successfully
-	// parsed and added to the plugin registry.  Therefore, 'location'
-	// will not appear in plugin.xml (and not in IModel either) but
-	// will appear in the registry cache.
-	private static final String RESOLVED = "resolved"; //$NON-NLS-1$
-	private static final String READONLY = "readonly"; //$NON-NLS-1$
-	private static final String LOCATION = "location"; //$NON-NLS-1$
-	private static final String ENABLED = "enabled"; //$NON-NLS-1$
-	private static final String RESOLVED_VERSION = "resolved_version"; //$NON-NLS-1$
-	private static final String END = "end"; //$NON-NLS-1$
-	private static final String EXPORTS_LENGTH = "<length of export list>"; //$NON-NLS-1$
-	private static final String SUBELEMENTS_LENGTH = "<length of subelement list>"; //$NON-NLS-1$
-	private static final String PROPERTIES_LENGTH = "<length of properties list>"; //$NON-NLS-1$
-	private static final String PARENT_REGISTRY = "<index of parent registry>"; //$NON-NLS-1$
-	private static final String CONFIGURATION_ELEMENT_PARENT = "<index of element parent>"; //$NON-NLS-1$
-	private static final String PLUGIN_INDEX = "<index of plugin>"; //$NON-NLS-1$
-	private static final String EXTENSION_INDEX = "<index of extension>"; //$NON-NLS-1$
-	private static final String EXT_PT_PARENT_INDEX = "<index of extension point parent>"; //$NON-NLS-1$
-	private static final String EXT_PT_EXTENSION_LENGTH = "<length of extension list>"; //$NON-NLS-1$
-	private static final String EXT_LIST = "<list of extensions>"; //$NON-NLS-1$
-	private static final String EXTENSION_PARENT = "<index of extension parent>"; //$NON-NLS-1$
-	private static final String ELEMENT_INDEX = "<index of element>"; //$NON-NLS-1$
-	private static final String REGISTRY_INDEX = "<index of registry>"; //$NON-NLS-1$
-	private static final String FRAGMENT_INDEX = "<index of fragment>"; //$NON-NLS-1$
-	private static final String EXTENSION_POINT_INDEX = "<index of extension point>"; //$NON-NLS-1$
-	private static final String LIBRARY_INDEX = "<index of library>"; //$NON-NLS-1$
-	private static final String REQUIRES_INDEX = "<index of prerequisite>"; //$NON-NLS-1$
-	private static final String UNKNOWN = "<unknown label>"; //$NON-NLS-1$
-
-public RegistryCacheReader(Factory factory, boolean lazilyLoadExtensions) {
-	super();
-	cacheFactory = factory;
-	this.objectTable = new ArrayList();
-	setLazilyLoadExtensions(lazilyLoadExtensions);
-}
-public RegistryCacheReader(Factory factory) {
-	this(factory, false);
-}
-private int addToObjectTable(Object object) {
-	objectTable.add(object);
-	// return the index of the object just added (i.e. size - 1)
-	return (objectTable.size() - 1);
-}
-private void debug(String msg) {
-	System.out.println("RegistryCacheReader: " + msg); //$NON-NLS-1$
-}
-public static String decipherLabel(byte labelValue) {
-	// Change a byte value from the registry cache into a
-	// human readable string.
-	String retValue = "\""; //$NON-NLS-1$
-	switch (labelValue) {
-		case REGISTRY_LABEL:
-			retValue += IModel.REGISTRY;
-			break;
-		case REGISTRY_RESOLVED_LABEL:
-			retValue += RESOLVED;
-			break;
-		case PLUGIN_LABEL:
-			retValue += IModel.PLUGIN;
-			break;
-		case REGISTRY_END_LABEL:
-			retValue += END + IModel.REGISTRY;
-			break;
-		case READONLY_LABEL:
-			retValue += READONLY;
-			break;
-		case NAME_LABEL:
-			retValue += IModel.PLUGIN_NAME;
-			break;
-		case ID_LABEL:
-			retValue += IModel.PLUGIN_ID;
-			break;
-		case PLUGIN_PROVIDER_NAME_LABEL:
-			retValue += IModel.PLUGIN_PROVIDER;
-			break;
-		case VERSION_LABEL:
-			retValue += IModel.PLUGIN_VERSION;
-			break;
-		case PLUGIN_CLASS_LABEL:
-			retValue += IModel.PLUGIN_CLASS;
-			break;
-		case PLUGIN_LOCATION_LABEL:
-			retValue += LOCATION;
-			break;
-		case PLUGIN_ENABLED_LABEL:
-			retValue += ENABLED;
-			break;
-		case PLUGIN_REQUIRES_LABEL:
-			retValue += IModel.PLUGIN_REQUIRES;
-			break;
-		case PLUGIN_LIBRARY_LABEL:
-			retValue += IModel.LIBRARY;
-			break;
-		case PLUGIN_EXTENSION_LABEL:
-			retValue += IModel.EXTENSION;
-			break;
-		case PLUGIN_EXTENSION_POINT_LABEL:
-			retValue += IModel.EXTENSION_POINT;
-			break;
-		case PLUGIN_END_LABEL:
-			retValue += END + IModel.PLUGIN;
-			break;
-		case REQUIRES_MATCH_LABEL:
-			retValue += IModel.PLUGIN_REQUIRES_MATCH;
-			break;
-		case REQUIRES_EXPORT_LABEL:
-			retValue += IModel.PLUGIN_REQUIRES_EXPORT;
-			break;
-		case REQUIRES_RESOLVED_VERSION_LABEL:
-			retValue += RESOLVED_VERSION;
-			break;
-		case REQUIRES_PLUGIN_NAME_LABEL:
-			retValue += IModel.PLUGIN_REQUIRES_PLUGIN;
-			break;
-		case REQUIRES_END_LABEL:
-			retValue += END + IModel.PLUGIN_REQUIRES;
-			break;
-		case LIBRARY_EXPORTS_LENGTH_LABEL:
-			retValue += EXPORTS_LENGTH;
-			break;
-		case LIBRARY_EXPORTS_LABEL:
-			retValue += IModel.LIBRARY_EXPORT;
-			break;
-		case LIBRARY_END_LABEL:
-			retValue += END + IModel.LIBRARY;
-			break;
-		case EXTENSION_POINT_SCHEMA_LABEL:
-			retValue += IModel.EXTENSION_POINT_SCHEMA;
-			break;
-		case EXTENSION_POINT_END_LABEL:
-			retValue += END + IModel.EXTENSION_POINT;
-			break;
-		case EXTENSION_EXT_POINT_NAME_LABEL:
-			retValue += IModel.EXTENSION_TARGET;
-			break;
-		case SUBELEMENTS_LENGTH_LABEL:
-			retValue += SUBELEMENTS_LENGTH;
-			break;
-		case EXTENSION_END_LABEL:
-			retValue += END + IModel.EXTENSION;
-			break;
-		case CONFIGURATION_ELEMENT_LABEL:
-			retValue += IModel.ELEMENT;
-			break;
-		case VALUE_LABEL:
-			retValue += IModel.ELEMENT_VALUE;
-			break;
-		case PROPERTIES_LENGTH_LABEL:
-			retValue += PROPERTIES_LENGTH;
-			break;
-		case CONFIGURATION_ELEMENT_END_LABEL:
-			retValue += END + IModel.ELEMENT;
-			break;
-		case CONFIGURATION_PROPERTY_LABEL:
-			retValue += IModel.PROPERTY;
-			break;
-		case CONFIGURATION_PROPERTY_END_LABEL:
-			retValue += END + IModel.PROPERTY;
-			break;
-		case PLUGIN_PARENT_LABEL:
-			retValue += PARENT_REGISTRY;
-			break;
-		case PLUGIN_INDEX_LABEL:
-			retValue += PLUGIN_INDEX;
-			break;
-		case EXTENSION_INDEX_LABEL:
-			retValue += EXTENSION_INDEX;
-			break;
-		case EXTENSION_POINT_PARENT_LABEL:
-			retValue += EXT_PT_PARENT_INDEX;
-			break;
-		case EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL:
-			retValue += EXT_PT_EXTENSION_LENGTH;
-			break;
-		case EXTENSION_POINT_EXTENSIONS_LABEL:
-			retValue += EXT_LIST;
-			break;
-		case EXTENSION_PARENT_LABEL:
-			retValue += EXTENSION_PARENT;
-			break;
-		case REGISTRY_INDEX_LABEL:
-			retValue += REGISTRY_INDEX;
-			break;
-		case FRAGMENT_END_LABEL:
-			retValue += END + IModel.FRAGMENT;
-			break;
-		case FRAGMENT_INDEX_LABEL:
-			retValue += FRAGMENT_INDEX;
-			break;
-		case FRAGMENT_LABEL:
-			retValue += IModel.FRAGMENT;
-			break;
-		case FRAGMENT_PLUGIN_LABEL:
-			retValue += IModel.FRAGMENT_PLUGIN_ID;
-			break;
-		case FRAGMENT_PLUGIN_MATCH_LABEL:
-			retValue += IModel.FRAGMENT_PLUGIN_MATCH;
-			break;
-		case FRAGMENT_PLUGIN_VERSION_LABEL:
-			retValue += IModel.FRAGMENT_PLUGIN_VERSION;
-			break;
-		case REQUIRES_OPTIONAL_LABEL:
-			retValue += IModel.PLUGIN_REQUIRES_OPTIONAL;
-			break;
-		case SOURCE_LABEL:
-			retValue += IModel.LIBRARY_SOURCE;
-			break;
-		case TYPE_LABEL:
-			retValue += IModel.LIBRARY_TYPE;
-			break;
-		case EXTENSION_POINT_INDEX_LABEL:
-			retValue += EXTENSION_POINT_INDEX;
-			break;
-		case LIBRARY_INDEX_LABEL:
-			retValue += LIBRARY_INDEX;
-			break;
-		case REQUIRES_INDEX_LABEL:
-			retValue += REQUIRES_INDEX;
-			break;
-		default:
-			retValue += UNKNOWN;
-			break;
-	}
-	
-	retValue += "\""; //$NON-NLS-1$
-	return retValue;
-}
-private boolean interpretHeaderInformation(DataInputStream in) {
-	try {
-		if (in.readInt() != REGISTRY_CACHE_VERSION)
-			return false;
-			
-		// install stamp
-		long installStamp = in.readLong();
-		// OS stamp
-		String osStamp = in.readUTF();
-		// windows system stamp
-		String windowsStamp = in.readUTF();
-		// locale stamp
-		String localeStamp = in.readUTF();
-		// Save the current plugin timestamp for writing to the
-		// cache when we shutdown
-		InternalPlatform.setRegistryCacheTimeStamp(BootLoader.getCurrentPlatformConfiguration().getPluginsChangeStamp());
-
-		return ((installStamp == InternalPlatform.getRegistryCacheTimeStamp()) &&
-			(osStamp.equals(BootLoader.getOS())) &&
-			(windowsStamp.equals(BootLoader.getWS())) &&
-			(localeStamp.equals(BootLoader.getNL())) );
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", "HeaderInformation"), ioe)); //$NON-NLS-1$ //$NON-NLS-2$
-		return false;
-	}
-}
-
-private ConfigurationElementModel readConfigurationElement(DataInputStream in, PluginModelObject parent, boolean debugFlag) {
-	ConfigurationElementModel configurationElement = cacheFactory.createConfigurationElement();
-	configurationElement.setParent(parent);
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					configurationElement.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					configurationElement.setName(in.readUTF().intern());
-					break;
-				case VALUE_LABEL :
-					configurationElement.setValue(in.readUTF().intern());
-					break;
-				case PROPERTIES_LENGTH_LABEL :
-					int propertiesLength = in.readInt();
-					ConfigurationPropertyModel[] properties = new ConfigurationPropertyModel[propertiesLength];
-					for (int i = 0; i < propertiesLength && !done; i++) {
-						properties[i] = readConfigurationProperty(in, debugFlag);
-						if (properties[i] == null) {
-							// Something went wrong reading this configuration
-							// property
-							if (debugFlag) {
-								String name = configurationElement.getName();
-								if (name == null)
-									name = new String ("<unknown name>"); //$NON-NLS-1$
-								debug ("Trouble reading configuration property #" + i + " for configuration element " + name); //$NON-NLS-1$ //$NON-NLS-2$
-							}
-							configurationElement = null;
-							done = true;
-						}
-					}
-					if (configurationElement != null)
-						configurationElement.setProperties(properties);
-					properties = null;
-					break;
-				case SUBELEMENTS_LENGTH_LABEL :
-					int subElementsLength = in.readInt();
-					ConfigurationElementModel[] subElements = new ConfigurationElementModel[subElementsLength];
-					for (int i = 0; i < subElementsLength && !done; i++) {
-						// Do we have an index or a real configuration element?
-						byte subInByte = in.readByte();
-						switch (subInByte) {
-							case CONFIGURATION_ELEMENT_LABEL :
-								subElements[i] = readConfigurationElement(in, configurationElement, debugFlag);
-								if (subElements[i] == null) {
-									if (debugFlag) {
-										String name = configurationElement.getName();
-										if (name == null)
-											name = new String ("<unknown name>"); //$NON-NLS-1$
-										debug ("Unable to read subelement #" + i + " for configuration element " + name); //$NON-NLS-1$ //$NON-NLS-2$
-									}
-									configurationElement = null;
-									done = true;
-								}
-								break;
-							default:
-								// We found something we weren't expecting
-								if (debugFlag) {
-									String name = configurationElement.getName();
-									if (name == null)
-										name = new String ("<unknown name>"); //$NON-NLS-1$
-									debug ("Unexpected byte code " + decipherLabel(subInByte) + "reading subelements of configuration element" + name); //$NON-NLS-1$ //$NON-NLS-2$
-								}
-								done = true;
-								configurationElement = null;
-								break;
-						}
-					}
-					if (configurationElement != null)
-						configurationElement.setSubElements(subElements);
-					subElements = null;
-					break;
-				case CONFIGURATION_ELEMENT_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = configurationElement.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + "reading configuration element" + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					done = true;
-					configurationElement = null;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(CONFIGURATION_ELEMENT_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return configurationElement;
-}
-private ConfigurationPropertyModel readConfigurationProperty(DataInputStream in, boolean debugFlag) {
-	ConfigurationPropertyModel configurationProperty = cacheFactory.createConfigurationProperty();
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case CONFIGURATION_PROPERTY_LABEL:
-					break;
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					configurationProperty.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					configurationProperty.setName(in.readUTF().intern());
-					break;
-				case VALUE_LABEL :
-					configurationProperty.setValue(in.readUTF().intern());
-					break;
-				case CONFIGURATION_PROPERTY_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = configurationProperty.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading configuration property " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					configurationProperty = null;
-					done = true;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(CONFIGURATION_PROPERTY_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return configurationProperty;
-}
-private ExtensionModel readExtension(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
-	ExtensionModel extension = cacheFactory.createExtension();
-	addToObjectTable(extension);
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					extension.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					extension.setName(in.readUTF().intern());
-					break;
-				case ID_LABEL :
-					extension.setId(in.readUTF().intern());
-					break;
-				case EXTENSION_EXT_POINT_NAME_LABEL :
-					extension.setExtensionPoint(in.readUTF().intern());
-					break;
-				case SUBELEMENTS_LABEL :
-					ConfigurationElementModel[] subElements = readSubElements(in, extension, debugFlag);
-					extension.setSubElements(subElements);
-					break;
-				case EXTENSION_PARENT_LABEL :
-					// Either there is a plugin or there is an index into the
-					// objectTable
-					byte subByte = in.readByte();
-					switch (subByte) {
-						case PLUGIN_LABEL :
-							PluginModel parent = (PluginModel)readPluginDescriptor(in, debugFlag);
-							if (parent == null) {
-								if (debugFlag) {
-									String name = extension.getName();
-									if (name == null)
-										name = new String("<unknown name>"); //$NON-NLS-1$
-									debug ("Trouble reading parent plugin for extension " + name); //$NON-NLS-1$
-								}
-								done = true;
-								extension = null;
-							} else {
-								extension.setParent(parent);
-							}
-							break;
-						case PLUGIN_INDEX_LABEL :
-							extension.setParent((PluginModel)objectTable.get(in.readInt()));
-							break;
-						case FRAGMENT_LABEL :
-							PluginModel fragmentParent = (PluginModel)readPluginFragment(in, debugFlag);
-							if (fragmentParent == null) {
-								if (debugFlag) {
-									String name = extension.getName();
-									if (name == null)
-										name = new String("<unknown name>"); //$NON-NLS-1$
-									debug ("Trouble reading parent fragment for extension " + name); //$NON-NLS-1$
-								}
-								done = true;
-								extension = null;
-							} else {
-								extension.setParent(fragmentParent);
-							}
-							break;
-						case FRAGMENT_INDEX_LABEL :
-							extension.setParent((PluginModel)objectTable.get(in.readInt()));
-							break;
-						default: 
-							// We got something unexpected
-							if (debugFlag) {
-								String name = extension.getName();
-								if (name == null)
-									name = new String("<unknown name>"); //$NON-NLS-1$
-								debug ("Unexpected byte code " + decipherLabel(subByte) + " reading parent of extension " + name); //$NON-NLS-1$ //$NON-NLS-2$
-							}
-							done = true;
-							extension = null;
-							break;
-					}
-					break;
-				case EXTENSION_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = extension.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + "reading extension" + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					done = true;
-					extension = null;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_EXTENSION_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return extension;
-}
-
-private ExtensionPointModel readExtensionPoint(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
-	ExtensionPointModel extPoint = cacheFactory.createExtensionPoint();
-	addToObjectTable(extPoint);
-
-	int extensionLength = 0;
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					extPoint.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					extPoint.setName(in.readUTF().intern());
-					break;
-				case ID_LABEL :
-					extPoint.setId(in.readUTF().intern());
-					break;
-				case EXTENSION_POINT_SCHEMA_LABEL :
-					extPoint.setSchema(in.readUTF().intern());
-					break;
-				case EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL :
-					extensionLength = in.readInt();
-					break;
-				case EXTENSION_POINT_EXTENSIONS_LABEL :
-					ExtensionModel[] extensions = new ExtensionModel[extensionLength];
-					for (int i = 0; i < extensionLength && !done; i++) {
-						byte subByte = in.readByte();
-						switch (subByte) {
-							// Either this is an extension or an index into
-							// the objectTable
-							case PLUGIN_EXTENSION_LABEL :
-								extensions[i] = readExtension(in, debugFlag);
-								if (extensions[i] == null) {
-									if (debugFlag) {
-										String name = extPoint.getName();
-										if (name == null)
-											name = new String ("<unknown name>"); //$NON-NLS-1$
-										debug ("Unable to read extension #" + i + " for extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$
-									}
-									done = true;
-									extPoint = null;
-								}
-								break;
-							case EXTENSION_INDEX_LABEL :
-								extensions[i] = (ExtensionModel) objectTable.get(in.readInt());
-								break;
-							default:
-								// We got something unexpected
-								if (debugFlag) {
-									String name = extPoint.getName();
-									if (name == null)
-										name = new String ("<unknown name>"); //$NON-NLS-1$
-									debug ("Unexpected byte code " + decipherLabel(subByte) + "reading extension #" + i + " for extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-								}
-								extPoint = null;
-								done = true;
-								break;
-						}
-					}
-					if (extPoint != null)
-						extPoint.setDeclaredExtensions(extensions);
-					break;
-				case EXTENSION_POINT_PARENT_LABEL :
-					// We know this plugin or fragment is already in the objectTable
-					extPoint.setParent((PluginModel) objectTable.get(in.readInt()));
-					break;
-				case EXTENSION_POINT_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = extPoint.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					extPoint = null;
-					done = true;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_EXTENSION_POINT_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return extPoint;
-}
-private LibraryModel readLibrary(DataInputStream in, boolean debugFlag) {
-	LibraryModel library = cacheFactory.createLibrary();
-	addToObjectTable(library);
-	int exportsLength = 0;
-	int prefixesLength = 0;
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					library.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					library.setName(in.readUTF().intern());
-					break;
-				case LIBRARY_EXPORTS_LENGTH_LABEL :
-					exportsLength = in.readInt();
-					break;
-				case TYPE_LABEL :
-					library.setType(in.readUTF().intern());
-					break;
-				case LIBRARY_EXPORTS_LABEL :
-					String[] exports = new String[exportsLength];
-					for (int i = 0; i < exportsLength && !done; i++) {
-						exports[i] = in.readUTF().intern();
-						if (exports[i] == null) {
-							if (debugFlag) {
-								String name = library.getName();
-								if (name == null)
-									name = new String ("<unknown name>"); //$NON-NLS-1$
-								debug ("Empty export string for export #" + i + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
-							}
-							done = true;
-							library = null;
-						}
-					}
-					if (!done)
-						library.setExports(exports);
-					exports = null;
-					break;
-				case LIBRARY_END_LABEL :
-					done = true;
-					break;
-				case LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL:
-					prefixesLength = in.readInt();
-					break;
-				case LIBRARY_PACKAGES_PREFIXES_LABEL:
-					String[] prefixes = new String[prefixesLength];
-					for (int i = 0; i < prefixesLength && !done; i++) {
-						prefixes[i] = in.readUTF().intern();
-						if (prefixes[i] == null) {
-							if (debugFlag) {
-								String name = library.getName();
-								if (name == null)
-									name = new String ("<unknown name>"); //$NON-NLS-1$
-								debug ("Empty prefix string for prefix #" + i + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
-							}
-							done = true;
-							library = null;
-						}
-					}
-					if (!done)
-						library.setPackagePrefixes(prefixes);
-					prefixes = null;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = library.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					library = null;
-					done = true;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_LIBRARY_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return library;
-}
-private PluginDescriptorModel readPluginDescriptor(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
-	PluginDescriptorModel plugin = cacheFactory.createPluginDescriptor();
-	addToObjectTable(plugin);
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					plugin.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					plugin.setName(in.readUTF().intern());
-					break;
-				case ID_LABEL :
-					plugin.setId(in.readUTF().intern());
-					break;
-				case PLUGIN_PROVIDER_NAME_LABEL :
-					plugin.setProviderName(in.readUTF().intern());
-					break;
-				case VERSION_LABEL :
-					plugin.setVersion(in.readUTF().intern());
-					break;
-				case PLUGIN_CLASS_LABEL :
-					plugin.setPluginClass(in.readUTF().intern());
-					break;
-				case PLUGIN_LOCATION_LABEL :
-					plugin.setLocation(in.readUTF().intern());
-					break;
-				case PLUGIN_ENABLED_LABEL :
-					plugin.setEnabled(in.readBoolean());
-					break;
-				case PLUGIN_REQUIRES_LABEL :
-					PluginPrerequisiteModel requires = readPluginPrerequisite(in, debugFlag);
-					if (requires == null) {
-						// Something went wrong
-						if (debugFlag) {
-							String name = plugin.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read prerequisite for plugin " + name); //$NON-NLS-1$
-						}
-						plugin = null;
-						done = true;
-					} else {
-						// Add this prerequisite to the end of the requires list
-						PluginPrerequisiteModel[] requiresList = plugin.getRequires();
-						PluginPrerequisiteModel[] newRequiresValues = null;
-						if (requiresList == null) {
-							newRequiresValues = new PluginPrerequisiteModel[1];
-							newRequiresValues[0] = requires;
-						} else {
-							newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
-							System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
-							newRequiresValues[requiresList.length] = requires;
-						}
-						plugin.setRequires(newRequiresValues);
-						requiresList = newRequiresValues = null;
-					}
-					requires = null;
-					break;
-				case REQUIRES_INDEX_LABEL :
-					requires = (PluginPrerequisiteModel) objectTable.get(in.readInt());
-					PluginPrerequisiteModel[] requiresList = plugin.getRequires();
-					PluginPrerequisiteModel[] newRequiresValues = null;
-					if (requiresList == null) {
-						newRequiresValues = new PluginPrerequisiteModel[1];
-						newRequiresValues[0] = requires;
-					} else {
-						newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
-						System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
-						newRequiresValues[requiresList.length] = requires;
-					}
-					plugin.setRequires(newRequiresValues);
-					requires = null;
-					requiresList = newRequiresValues = null;
-					break;
-				case PLUGIN_LIBRARY_LABEL :
-					LibraryModel library = readLibrary(in, debugFlag);
-					if (library == null) {
-						// Something went wrong reading this library
-						if (debugFlag) {
-							String name = plugin.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read library for plugin " + name); //$NON-NLS-1$
-						}
-						plugin = null;
-						done = true;
-					} else {
-						// Add this library to the end of the runtime list
-						LibraryModel[] libraryList = plugin.getRuntime();
-						LibraryModel[] newLibraryValues = null;
-						if (libraryList == null) {
-							newLibraryValues = new LibraryModel[1];
-							newLibraryValues[0] = library;
-						} else {
-							newLibraryValues = new LibraryModel[libraryList.length + 1];
-							System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
-							newLibraryValues[libraryList.length] = library;
-						}
-						plugin.setRuntime(newLibraryValues);
-						libraryList = newLibraryValues = null;
-					}
-					library = null;
-					break;
-				case LIBRARY_INDEX_LABEL :
-					library = (LibraryModel) objectTable.get(in.readInt());
-					LibraryModel[] libraryList = plugin.getRuntime();
-					LibraryModel[] newLibraryValues = null;
-					if (libraryList == null) {
-						newLibraryValues = new LibraryModel[1];
-						newLibraryValues[0] = library;
-					} else {
-						newLibraryValues = new LibraryModel[libraryList.length + 1];
-						System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
-						newLibraryValues[libraryList.length] = library;
-					}
-					plugin.setRuntime(newLibraryValues);
-					library = null;
-					libraryList = newLibraryValues = null;
-					break;
-				case PLUGIN_EXTENSION_LABEL :
-					ExtensionModel extension = readExtension(in, debugFlag);
-					if (extension == null) {
-						// Something went wrong reading this extension
-						if (debugFlag) {
-							String name = plugin.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read extension for plugin " + name); //$NON-NLS-1$
-						}
-						plugin = null;
-						done = true;
-					} else {
-						ExtensionModel[] extList = plugin.getDeclaredExtensions();
-						ExtensionModel[] newExtValues = null;
-						if (extList == null) {
-							newExtValues = new ExtensionModel[1];
-							newExtValues[0] = extension;
-						} else {
-							newExtValues = new ExtensionModel[extList.length + 1];
-							System.arraycopy(extList, 0, newExtValues, 0, extList.length);
-							newExtValues[extList.length] = extension;
-						}
-						plugin.setDeclaredExtensions(newExtValues);
-						extList = newExtValues = null;
-					}
-					extension = null;
-					break;
-				case EXTENSION_INDEX_LABEL :
-					extension = (ExtensionModel) objectTable.get(in.readInt());
-					ExtensionModel[] extList = plugin.getDeclaredExtensions();
-					ExtensionModel[] newExtValues = null;
-					if (extList == null) {
-						newExtValues = new ExtensionModel[1];
-						newExtValues[0] = extension;
-					} else {
-						newExtValues = new ExtensionModel[extList.length + 1];
-						System.arraycopy(extList, 0, newExtValues, 0, extList.length);
-						newExtValues[extList.length] = extension;
-					}
-					plugin.setDeclaredExtensions(newExtValues);
-					extension = null;
-					extList = newExtValues = null;
-					break;
-				case PLUGIN_EXTENSION_POINT_LABEL :
-					ExtensionPointModel extensionPoint = readExtensionPoint(in, debugFlag);
-					if (extensionPoint == null) {
-						// Something went wrong reading this extension
-						if (debugFlag) {
-							String name = plugin.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read extension point for plugin " + name); //$NON-NLS-1$
-						}
-						plugin = null;
-						done = true;
-					} else {
-						// Add this extension point to the end of the extension point list
-						ExtensionPointModel[] extPointList = plugin.getDeclaredExtensionPoints();
-						ExtensionPointModel[] newExtPointValues = null;
-						if (extPointList == null) {
-							newExtPointValues = new ExtensionPointModel[1];
-							newExtPointValues[0] = extensionPoint;
-						} else {
-							newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
-							System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
-							newExtPointValues[extPointList.length] = extensionPoint;
-						}
-						plugin.setDeclaredExtensionPoints(newExtPointValues);
-						extensionPoint = null;
-						extPointList = newExtPointValues = null;
-					}
-					break;
-				case EXTENSION_POINT_INDEX_LABEL:
-					extensionPoint = (ExtensionPointModel) objectTable.get(in.readInt());
-					ExtensionPointModel[] extPointList = plugin.getDeclaredExtensionPoints();
-					ExtensionPointModel[] newExtPointValues = null;
-					if (extPointList == null) {
-						newExtPointValues = new ExtensionPointModel[1];
-						newExtPointValues[0] = extensionPoint;
-					} else {
-						newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
-						System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
-						newExtPointValues[extPointList.length] = extensionPoint;
-					}
-					plugin.setDeclaredExtensionPoints(newExtPointValues);
-					extensionPoint = null;
-					extPointList = newExtPointValues = null;
-					break;
-				case FRAGMENT_LABEL :
-					PluginFragmentModel fragment = readPluginFragment(in, debugFlag);
-					if (fragment == null) {
-						// Something went wrong reading this fragment
-						if (debugFlag) {
-							String name = plugin.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read fragment for plugin " + name); //$NON-NLS-1$
-						}
-						plugin = null;
-						done = true;
-					} else {
-						// Add this fragment to the end of the fragment list
-						PluginFragmentModel[] fragmentList = plugin.getFragments();
-						PluginFragmentModel[] newFragmentValues = null;
-						if (fragmentList == null) {
-							newFragmentValues = new PluginFragmentModel[1];
-							newFragmentValues[0] = fragment;
-						} else {
-							newFragmentValues = new PluginFragmentModel[fragmentList.length + 1];
-							System.arraycopy(fragmentList, 0, newFragmentValues, 0, fragmentList.length);
-							newFragmentValues[fragmentList.length] = fragment;
-						}
-						plugin.setFragments(newFragmentValues);
-						fragment = null;
-						fragmentList = newFragmentValues = null;
-					}
-					break;
-				case FRAGMENT_INDEX_LABEL :
-					fragment = (PluginFragmentModel) objectTable.get(in.readInt());
-					PluginFragmentModel[] fragmentList = plugin.getFragments();
-					PluginFragmentModel[] newFragmentValues = null;
-					if (fragmentList == null) {
-						newFragmentValues = new PluginFragmentModel[1];
-						newFragmentValues[0] = fragment;
-					} else {
-						newFragmentValues = new PluginFragmentModel[fragmentList.length + 1];
-						System.arraycopy(fragmentList, 0, newFragmentValues, 0, fragmentList.length);
-						newFragmentValues[fragmentList.length] = fragment;
-					}
-					plugin.setFragments(newFragmentValues);
-					fragment = null;
-					fragmentList = newFragmentValues = null;
-					break;
-				case PLUGIN_PARENT_LABEL :
-					plugin.setRegistry((PluginRegistryModel) objectTable.get(in.readInt()));
-					break;
-				case PLUGIN_END_LABEL :
-					done = true;
-					break;
-				default :
-					// We got something unexpected
-					if (debugFlag) {
-						String name = plugin.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading plugin " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					plugin = null;
-					done = true;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return plugin;
-}
-private PluginFragmentModel readPluginFragment(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
-	PluginFragmentModel fragment = cacheFactory.createPluginFragment();
-	addToObjectTable(fragment);
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					fragment.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					fragment.setName(in.readUTF().intern());
-					break;
-				case ID_LABEL :
-					fragment.setId(in.readUTF().intern());
-					break;
-				case PLUGIN_PROVIDER_NAME_LABEL :
-					fragment.setProviderName(in.readUTF().intern());
-					break;
-				case VERSION_LABEL :
-					fragment.setVersion(in.readUTF().intern());
-					break;
-				case PLUGIN_LOCATION_LABEL :
-					fragment.setLocation(in.readUTF().intern());
-					break;
-				case FRAGMENT_PLUGIN_LABEL :
-					fragment.setPlugin(in.readUTF().intern());
-					break;
-				case FRAGMENT_PLUGIN_VERSION_LABEL :
-					fragment.setPluginVersion(in.readUTF().intern());
-					break;
-				case FRAGMENT_PLUGIN_MATCH_LABEL :
-					fragment.setMatch(in.readByte());
-					break;
-				case PLUGIN_REQUIRES_LABEL :
-					PluginPrerequisiteModel requires = readPluginPrerequisite(in, debugFlag);
-					if (requires == null) {
-						// Something went wrong reading the prerequisite
-						if (debugFlag) {
-							String name = fragment.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read prerequisite for fragment " + name); //$NON-NLS-1$
-						}
-						done = true;
-						fragment = null;
-					} else {
-						// Add this prerequisite to the end of the requires list
-						PluginPrerequisiteModel[] requiresList = fragment.getRequires();
-						PluginPrerequisiteModel[] newRequiresValues = null;
-						if (requiresList == null) {
-							newRequiresValues = new PluginPrerequisiteModel[1];
-							newRequiresValues[0] = requires;
-						} else {
-							newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
-							System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
-							newRequiresValues[requiresList.length] = requires;
-						}
-						fragment.setRequires(newRequiresValues);
-						requires = null;
-						requiresList = newRequiresValues = null;
-					}
-					break;
-				case REQUIRES_INDEX_LABEL :
-					requires = (PluginPrerequisiteModel) objectTable.get(in.readInt());
-					PluginPrerequisiteModel[] requiresList = fragment.getRequires();
-					PluginPrerequisiteModel[] newRequiresValues = null;
-					if (requiresList == null) {
-						newRequiresValues = new PluginPrerequisiteModel[1];
-						newRequiresValues[0] = requires;
-					} else {
-						newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
-						System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
-						newRequiresValues[requiresList.length] = requires;
-					}
-					fragment.setRequires(newRequiresValues);
-					requires = null;
-					requiresList = newRequiresValues = null;
-					break;
-				case PLUGIN_LIBRARY_LABEL :
-					LibraryModel library = readLibrary(in, debugFlag);
-					if (library == null) {
-						// Something went wrong reading this library
-						if (debugFlag) {
-							String name = fragment.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read library for fragment " + name); //$NON-NLS-1$
-						}
-						fragment = null;
-						done = true;
-					} else {
-						// Add this library to the end of the runtime list
-						LibraryModel[] libraryList = fragment.getRuntime();
-						LibraryModel[] newLibraryValues = null;
-						if (libraryList == null) {
-							newLibraryValues = new LibraryModel[1];
-							newLibraryValues[0] = library;
-						} else {
-							newLibraryValues = new LibraryModel[libraryList.length + 1];
-							System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
-							newLibraryValues[libraryList.length] = library;
-						}
-						fragment.setRuntime(newLibraryValues);
-						library = null;
-						libraryList = newLibraryValues = null;
-					}
-					break;
-				case LIBRARY_INDEX_LABEL :
-					library = (LibraryModel) objectTable.get(in.readInt());
-					LibraryModel[] libraryList = fragment.getRuntime();
-					LibraryModel[] newLibraryValues = null;
-					if (libraryList == null) {
-						newLibraryValues = new LibraryModel[1];
-						newLibraryValues[0] = library;
-					} else {
-						newLibraryValues = new LibraryModel[libraryList.length + 1];
-						System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
-						newLibraryValues[libraryList.length] = library;
-					}
-					fragment.setRuntime(newLibraryValues);
-					library = null;
-					libraryList = newLibraryValues = null;
-					break;
-				case PLUGIN_EXTENSION_LABEL :
-					ExtensionModel extension = readExtension(in, debugFlag);
-					if (extension == null) {
-						// Something went wrong reading this extension
-						if (debugFlag) {
-							String name = fragment.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read extension for fragment " + name); //$NON-NLS-1$
-						}
-						fragment = null;
-						done = true;
-					} else {
-						ExtensionModel[] extList = fragment.getDeclaredExtensions();
-						ExtensionModel[] newExtValues = null;
-						if (extList == null) {
-							newExtValues = new ExtensionModel[1];
-							newExtValues[0] = extension;
-						} else {
-							newExtValues = new ExtensionModel[extList.length + 1];
-							System.arraycopy(extList, 0, newExtValues, 0, extList.length);
-							newExtValues[extList.length] = extension;
-						}
-						fragment.setDeclaredExtensions(newExtValues);
-						extension = null;
-						extList = newExtValues = null;
-					}
-					break;
-				case EXTENSION_INDEX_LABEL :				
-					extension = (ExtensionModel) objectTable.get(in.readInt());
-					ExtensionModel[] extList = fragment.getDeclaredExtensions();
-					ExtensionModel[] newExtValues = null;
-					if (extList == null) {
-						newExtValues = new ExtensionModel[1];
-						newExtValues[0] = extension;
-					} else {
-						newExtValues = new ExtensionModel[extList.length + 1];
-						System.arraycopy(extList, 0, newExtValues, 0, extList.length);
-						newExtValues[extList.length] = extension;
-					}
-					fragment.setDeclaredExtensions(newExtValues);
-					extension = null;
-					extList = newExtValues = null;
-					break;
-				case PLUGIN_EXTENSION_POINT_LABEL :
-					ExtensionPointModel extensionPoint = readExtensionPoint(in, debugFlag);
-					if (extensionPoint == null) {
-						// Something went wrong reading this extension point
-						if (debugFlag) {
-							String name = fragment.getName();
-							if (name == null)
-								name = new String ("<unknown name>"); //$NON-NLS-1$
-							debug ("Unable to read extension point for fragment " + name); //$NON-NLS-1$
-						}
-						fragment = null;
-						done = true;
-					} else {
-						// Add this extension point to the end of the extension point list
-						ExtensionPointModel[] extPointList = fragment.getDeclaredExtensionPoints();
-						ExtensionPointModel[] newExtPointValues = null;
-						if (extPointList == null) {
-							newExtPointValues = new ExtensionPointModel[1];
-							newExtPointValues[0] = extensionPoint;
-						} else {
-							newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
-							System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
-							newExtPointValues[extPointList.length] = extensionPoint;
-						}
-						fragment.setDeclaredExtensionPoints(newExtPointValues);
-						extensionPoint = null;
-						extPointList = newExtPointValues = null;
-					}
-					break;
-				case EXTENSION_POINT_INDEX_LABEL:
-					extensionPoint = (ExtensionPointModel) objectTable.get(in.readInt());
-					ExtensionPointModel[] extPointList = fragment.getDeclaredExtensionPoints();
-					ExtensionPointModel[] newExtPointValues = null;
-					if (extPointList == null) {
-						newExtPointValues = new ExtensionPointModel[1];
-						newExtPointValues[0] = extensionPoint;
-					} else {
-						newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
-						System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
-						newExtPointValues[extPointList.length] = extensionPoint;
-					}
-					fragment.setDeclaredExtensionPoints(newExtPointValues);
-					extensionPoint = null;
-					extPointList = newExtPointValues = null;
-					break;
-				case PLUGIN_PARENT_LABEL :
-					fragment.setRegistry((PluginRegistryModel) objectTable.get(in.readInt()));
-					break;
-				case FRAGMENT_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something unexpected
-					if (debugFlag) {
-						String name = fragment.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading fragment " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					fragment = null;
-					done = true;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(FRAGMENT_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return fragment;
-}
-private PluginPrerequisiteModel readPluginPrerequisite(DataInputStream in, boolean debugFlag) {
-	PluginPrerequisiteModel requires = cacheFactory.createPluginPrerequisite();
-	addToObjectTable(requires);	
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				done = true;
-				break;
-			}
-			switch (inByte) {
-				case READONLY_LABEL :
-					in.readBoolean();
-					break;
-				case START_LINE :
-					requires.setStartLine(in.readInt());
-					break;
-				case NAME_LABEL :
-					requires.setName(in.readUTF().intern());
-					break;
-				case VERSION_LABEL :
-					requires.setVersion(in.readUTF().intern());
-					break;
-				case REQUIRES_MATCH_LABEL :
-					requires.setMatchByte(in.readByte());
-					break;
-				case REQUIRES_EXPORT_LABEL :
-					requires.setExport(in.readBoolean());
-					break;
-				case REQUIRES_OPTIONAL_LABEL :
-					requires.setOptional(in.readBoolean());
-					break;
-				case REQUIRES_RESOLVED_VERSION_LABEL :
-					requires.setResolvedVersion(in.readUTF().intern());
-					break;
-				case REQUIRES_PLUGIN_NAME_LABEL :
-					requires.setPlugin(in.readUTF().intern());
-					break;
-				case REQUIRES_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something we didn't expect
-					// Make this an empty prerequisite
-					if (debugFlag) {
-						String name = requires.getName();
-						if (name == null)
-							name = new String ("<unknown name>"); //$NON-NLS-1$
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading prerequisite " + name); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					done = true;
-					requires = null;
-					break;
-			}
-		}
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_REQUIRES_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	return requires;
-}
-public final PluginRegistryModel readPluginRegistry(DataInputStream in, URL[] pluginPath, boolean debugFlag) {
-	if (cacheReadProblems == null) {
-		cacheReadProblems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("meta.registryCacheReadProblems"), null); //$NON-NLS-1$
-	}
-
-	if (!interpretHeaderInformation(in)) {
-		if (debugFlag)
-			debug ("Cache header information out of date - ignoring cache"); //$NON-NLS-1$
-		return null;
-	}
-	PluginRegistryModel cachedRegistry = cacheFactory.createPluginRegistry();
-	addToObjectTable(cachedRegistry);
-	boolean setReadOnlyFlag = false;
-	try {
-		byte inByte = 0;
-		boolean done = false;
-		while (!done) {
-			try {
-				inByte = in.readByte();
-			} catch (EOFException eofe) {
-				// Don't return a cached registry since this exception is unexpected. In the normal
-				// case we should have hit the END_REGISTRY label.
-				cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.registryCacheEOFException"), eofe)); //$NON-NLS-1$
-				return null;
-			}
-			switch (inByte) {
-				case REGISTRY_LABEL:
-					break;
-				case READONLY_LABEL :
-					if (in.readBoolean())
-						setReadOnlyFlag = true;
-					break;
-				case REGISTRY_RESOLVED_LABEL :
-					if (in.readBoolean())
-						cachedRegistry.markResolved();
-					break;
-				case PLUGIN_LABEL :
-					PluginDescriptorModel plugin = null;
-					if ((plugin = readPluginDescriptor(in,debugFlag)) != null) {
-						cachedRegistry.addPlugin(plugin);
-					} else {
-						// Something went wrong reading this plugin
-						// Invalidate the cache
-						if (debugFlag) {
-							debug ("Unable to read plugin descriptor for plugin registry"); //$NON-NLS-1$
-						}
-						done = true;
-						cachedRegistry = null;
-					}
-					break;
-				case PLUGIN_INDEX_LABEL :
-					plugin = (PluginDescriptorModel) objectTable.get(in.readInt());
-					cachedRegistry.addPlugin(plugin);
-					break;
-				case FRAGMENT_LABEL :
-					PluginFragmentModel fragment = null;
-					if ((fragment = readPluginFragment(in, debugFlag)) != null) {
-						cachedRegistry.addFragment(fragment);
-					} else {
-						// Something went wrong reading this fragment
-						// Invalidate the cache
-						if (debugFlag) {
-							debug ("Unable to read fragment descriptor for plugin registry"); //$NON-NLS-1$
-						}
-						done = true;
-						cachedRegistry = null;
-					}
-					break;
-				case FRAGMENT_INDEX_LABEL :
-					fragment = (PluginFragmentModel) objectTable.get(in.readInt());
-					cachedRegistry.addFragment(fragment);
-					break;
-				case REGISTRY_END_LABEL :
-					done = true;
-					break;
-				default:
-					// We got something we weren't expecting
-					// Invalidate this cached registry
-					if (debugFlag) {
-						debug ("Unexpected byte code " + decipherLabel(inByte) + " reading plugin registry"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					done = true;
-					cachedRegistry = null;
-					break;
-			}
-		}
-	} catch (InvalidRegistryCacheException irce) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.registryCacheReadProblems", decipherLabel(REGISTRY_LABEL)), irce)); //$NON-NLS-1$
-		return null;
-	} catch (IOException ioe) {
-		cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(REGISTRY_LABEL)), ioe)); //$NON-NLS-1$
-		return null;
-	}
-	if (cachedRegistry == null)
-		return null;
-		
-	if (lazilyLoadExtensions)
-		((PluginRegistry) cachedRegistry).setCacheReader(this);
-	if (setReadOnlyFlag) {
-		// If we are finished reading this registry, we don't need to worry
-		// about setting the read-only flag on other objects we might wish
-		// to write to.  So, just to be safe, mark the whole thing.
-		cachedRegistry.markReadOnly();
-	}
-	// if there are no plugins in the registry, return null instead of
-	// an empty registry?
-	PluginDescriptorModel[] pluginList = cachedRegistry.getPlugins();
-	if ((pluginList == null) || (pluginList.length == 0)) {
-		return null;
-	} else {
-		return cachedRegistry;
-	}
-}
-private String[] getPathMembers(URL path) {
-	String[] list = null;
-	String protocol = path.getProtocol();
-	if (protocol.equals("file")) { //$NON-NLS-1$
-		list = (new File(path.getFile())).list();
-	} else {
-		// XXX: attempt to read URL and see if we got html dir page
-	}
-	return list == null ? new String[0] : list;
-}
-/**
- * Loads the configuration elements for an extension.
- */
-public final ConfigurationElementModel[] readSubElements(DataInputStream in, ExtensionModel parent, boolean debugFlag) throws IOException, InvalidRegistryCacheException {
-	
-	// the first field is extension sub-elements data offset
-	int offset = in.readInt();
-	
-	if (lazilyLoadExtensions) {
-		Extension extension = (Extension) parent;
-		extension.setSubElementsCacheOffset(offset);		
-		checkSubElements(in, parent, debugFlag);
-		extension.setFullyLoaded(false);				
-		return null;
-	}
-	// skip elements data length
-	in.readInt();	
-	byte nextLabel = in.readByte();
-	if (nextLabel != SUBELEMENTS_LENGTH_LABEL)
-		throw new InvalidRegistryCacheException();
-	int subElementsLength = in.readInt();
-	ConfigurationElementModel[] subElements = new ConfigurationElementModel[subElementsLength];
-	for (int i = 0; i < subElementsLength; i++) {
-		nextLabel = in.readByte(); 
-		if (nextLabel != CONFIGURATION_ELEMENT_LABEL)
-			throw new InvalidRegistryCacheException();		
-		subElements[i] = readConfigurationElement(in, parent, debugFlag);
-		if (subElements[i] == null) {
-			String message = null;
-			if (debugFlag)
-				message = "Unable to read subelement #" + i + " for extension " + parent.getName(); //$NON-NLS-1$ //$NON-NLS-2$ 
-			throw new InvalidRegistryCacheException(message);
-		}
-	}
-	// skip checksum
-	in.readLong();
-	return subElements;
-}
-private void checkSubElements(DataInputStream in, ExtensionModel parent, boolean debugFlag) throws IOException, InvalidRegistryCacheException {
-	int subElementsDataLength = in.readInt();
-	CheckedInputStream checkedIn = new CheckedInputStream(in, new CRC32());
-	if (checkedIn.skip(subElementsDataLength) != subElementsDataLength) {
-		String message = null;
-		if (debugFlag)
-			message = "EOF checking sub-elements data for extension " + parent.getName(); //$NON-NLS-1$ 
-		throw new InvalidRegistryCacheException(message);
-	}
-	long checksum = in.readLong();
-	if (checksum != checkedIn.getChecksum().getValue()) {
-		String message = null;
-		if (debugFlag)
-			message = "Checksum error checking sub-elements data for extension " + parent.getName(); //$NON-NLS-1$ 
-		throw new InvalidRegistryCacheException(message);
-	}	
-}
-public class InvalidRegistryCacheException extends Exception {
-	public InvalidRegistryCacheException() {
-		super(); 
-	}
-	public InvalidRegistryCacheException(String string) {
-		super(string);
-	}
-}
-final public void setLazilyLoadExtensions(boolean lazilyLoadExtensions) {
-	if (lazilyLoadExtensions && !(cacheFactory instanceof InternalFactory))
-		throw new UnsupportedOperationException("Invalid factory: " + cacheFactory.getClass().getName());//$NON-NLS-1$
-	this.lazilyLoadExtensions = lazilyLoadExtensions;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
deleted file mode 100644
index d592dba..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedOutputStream;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryCacheWriter {
-	// See RegistryCacheReader for constants commonly used here too.
-
-	// objectTable will be a hashmap of objects.  The objects will be things 
-	// like a plugin descriptor, extension, extension point, etc.  The integer 
-	// index value will be used in the cache to allow cross-references in the 
-	// cached registry.
-	HashMap objectTable = null;
-	
-	public MultiStatus cacheWriteProblems = null;
-	
-	public static final boolean DEBUG_REGISTRY_CACHE = false;
-	
-public RegistryCacheWriter() {
-	super();
-}
-private int addToObjectTable(Object object) {
-	if (objectTable == null) {
-		objectTable = new HashMap();
-	}
-	objectTable.put(object, new Integer(objectTable.size()));
-	// return the index of the object just added (i.e. size - 1)
-	return (objectTable.size() - 1);
-}
-private int getFromObjectTable(Object object) {
-	if (objectTable != null) {
-		Object objectResult = objectTable.get(object);
-		if (objectResult != null) {
-			return ((Integer) objectResult).intValue();
-		}
-	}
-	return -1;
-}
-private void writeLabel(byte labelValue, DataOutputStream out) {
-	try {
-		if (DEBUG_REGISTRY_CACHE) {
-			out.writeUTF (RegistryCacheReader.decipherLabel(labelValue));
-		} else {
-			out.writeByte(labelValue);
-		}
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(labelValue)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writeConfigurationElement(ConfigurationElementModel configElement, DataOutputStream out) {
-	try {
-		String outString;
-
-		writeLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(configElement.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(configElement.getStartLine());
-
-		if ((outString = configElement.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = configElement.getValue()) != null) {
-			writeLabel(RegistryCacheReader.VALUE_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		ConfigurationPropertyModel[] properties = configElement.getProperties();
-		if (properties != null) {
-			writeLabel(RegistryCacheReader.PROPERTIES_LENGTH_LABEL, out);
-			out.writeInt(properties.length);
-			for (int i = 0; i < properties.length; i++) {
-				writeConfigurationProperty(properties[i], out);
-			}
-		}
-
-		ConfigurationElementModel[] subElements = configElement.getSubElements();
-		if (subElements != null) {
-			writeLabel(RegistryCacheReader.SUBELEMENTS_LENGTH_LABEL, out);
-			out.writeInt(subElements.length);
-			for (int i = 0; i < subElements.length; i++) {
-				writeConfigurationElement(subElements[i], out);
-			}
-		}
-
-		writeLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writeConfigurationProperty(ConfigurationPropertyModel configProperty, DataOutputStream out) {
-	try {
-		String outString;
-
-		writeLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(configProperty.isReadOnly());
-		
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(configProperty.getStartLine());
-
-		if ((outString = configProperty.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = configProperty.getValue()) != null) {
-			writeLabel(RegistryCacheReader.VALUE_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		writeLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writeExtension(ExtensionModel extension, DataOutputStream out) {
-	try {
-		// Check to see if this extension already exists in the objectTable.  If it
-		// is there, it has already been written to the cache so just write out
-		// the index.
-		int extensionIndex = getFromObjectTable(extension);
-		if (extensionIndex != -1) {
-			// this extension is already there
-			writeLabel(RegistryCacheReader.EXTENSION_INDEX_LABEL, out);
-			out.writeInt(extensionIndex);
-			return;
-		}
-		// add this object to the object table first
-		addToObjectTable(extension);
-
-		String outString;
-
-		writeLabel(RegistryCacheReader.PLUGIN_EXTENSION_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(extension.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(extension.getStartLine());
-
-		if ((outString = extension.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = extension.getExtensionPoint()) != null) {
-			writeLabel(RegistryCacheReader.EXTENSION_EXT_POINT_NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = extension.getId()) != null) {
-			writeLabel(RegistryCacheReader.ID_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		writeSubElements(out, extension);
-
-		// Now worry about the parent plugin descriptor or plugin fragment
-		PluginModel parent = extension.getParent();
-		int parentIndex = getFromObjectTable(parent);
-		writeLabel(RegistryCacheReader.EXTENSION_PARENT_LABEL, out);
-		if (parentIndex != -1) {
-			// We have already written this plugin or fragment.  Just use the index.
-			if (parent instanceof PluginDescriptorModel) {
-				writeLabel(RegistryCacheReader.PLUGIN_INDEX_LABEL, out);
-			} else /* must be a fragment */ {
-				writeLabel(RegistryCacheReader.FRAGMENT_INDEX_LABEL, out);
-			}
-			out.writeInt(parentIndex);
-		} else {
-			// We haven't visited this plugin or fragment yet, so write it explicitly
-			if (parent instanceof PluginDescriptorModel) {
-				writePluginDescriptor((PluginDescriptorModel)parent, out);
-			} else /* must be a fragment */ {
-				writePluginFragment((PluginFragmentModel)parent, out);
-			}
-		}
-
-		writeLabel(RegistryCacheReader.EXTENSION_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_EXTENSION_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writeSubElements(DataOutputStream out, ExtensionModel extension) throws IOException {
-	ConfigurationElementModel[] subElements = extension.getSubElements();
-	if (subElements == null) 
-		return;		
-	writeLabel(RegistryCacheReader.SUBELEMENTS_LABEL, out);
-	// write the offset for sub-elements data
-	out.writeInt(out.size());
-	// write the sub-elements data to a memory stream...
-	// so we can prefix that data with its size (to easily skip it) 
-	ByteArrayOutputStream arrayOut = new ByteArrayOutputStream();
-	CheckedOutputStream checkedOut = new CheckedOutputStream(arrayOut, new CRC32());
-	DataOutputStream tempOut = new DataOutputStream(checkedOut);		 
-	writeLabel(RegistryCacheReader.SUBELEMENTS_LENGTH_LABEL, tempOut);
-	tempOut.writeInt(subElements.length);
-	for (int i = 0; i < subElements.length; i++) 
-		writeConfigurationElement(subElements[i], tempOut);
-	tempOut.close();
-	// write the block size, the data and a checksum
-	out.writeInt(arrayOut.size());
-	out.write(arrayOut.toByteArray());
-	out.writeLong(checkedOut.getChecksum().getValue());
-}
-public void writeExtensionPoint(ExtensionPointModel extPoint, DataOutputStream out) {
-	try {
-		// Check to see if this extension point already exists in the objectTable.  If it
-		// is there, it has already been written to the cache so just write out
-		// the index.
-		int extensionPointIndex = getFromObjectTable(extPoint);
-		if (extensionPointIndex != -1) {
-			// this extension point is already there
-			writeLabel(RegistryCacheReader.EXTENSION_POINT_INDEX_LABEL, out);
-			out.writeInt(extensionPointIndex);
-			return;
-		}
-		// add this object to the object table first
-		addToObjectTable(extPoint);
-		String outString;
-
-		writeLabel(RegistryCacheReader.PLUGIN_EXTENSION_POINT_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(extPoint.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(extPoint.getStartLine());
-
-		if ((outString = extPoint.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = extPoint.getId()) != null) {
-			writeLabel(RegistryCacheReader.ID_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = extPoint.getSchema()) != null) {
-			writeLabel(RegistryCacheReader.EXTENSION_POINT_SCHEMA_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		// Write out the parent's index.  We know we have
-		// already written this plugin or fragment to the cache
-		PluginModel parent = extPoint.getParent();
-		if (parent != null) {
-			int parentIndex = getFromObjectTable(parent);
-			if (parentIndex != -1) {
-				writeLabel(RegistryCacheReader.EXTENSION_POINT_PARENT_LABEL, out);
-				out.writeInt(parentIndex);
-			}
-		}
-
-		// Now do the extensions.
-		ExtensionModel[] extensions = extPoint.getDeclaredExtensions();
-		int extLength = extensions == null ? 0 : extensions.length;
-		if (extLength != 0) {
-			writeLabel(RegistryCacheReader.EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL, out);
-			out.writeInt(extLength);
-			writeLabel(RegistryCacheReader.EXTENSION_POINT_EXTENSIONS_LABEL, out);
-			for (int i = 0; i < extLength; i++) {
-				// Check to see if the extension exists in the objectTable first
-				int extensionIndex = getFromObjectTable(extensions[i]);
-				if (extensionIndex != -1) {
-					// Already in the objectTable and written to the cache
-					writeLabel(RegistryCacheReader.EXTENSION_INDEX_LABEL, out);
-					out.writeInt(extensionIndex);
-				} else {
-					writeExtension(extensions[i], out);
-				}
-			}
-		}
-
-		writeLabel(RegistryCacheReader.EXTENSION_POINT_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_EXTENSION_POINT_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writeHeaderInformation(DataOutputStream out) {
-	try {
-		out.writeInt(RegistryCacheReader.REGISTRY_CACHE_VERSION);
-		// install stamp
-		out.writeLong(InternalPlatform.getRegistryCacheTimeStamp());
-		// OS stamp
-		out.writeUTF(BootLoader.getOS());
-		// windows system stamp
-		out.writeUTF(BootLoader.getWS());
-		// locale stamp
-		out.writeUTF(BootLoader.getNL());
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", "HeaderInformation"), ioe)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
-public void writeLibrary(LibraryModel library, DataOutputStream out) {
-	try {
-		// Check to see if this library already exists in the objectTable.  If it
-		// is there, it has already been written to the cache so just write out
-		// the index.
-		int libraryIndex = getFromObjectTable(library);
-		if (libraryIndex != -1) {
-			// this library is already there
-			writeLabel(RegistryCacheReader.LIBRARY_INDEX_LABEL, out);
-			out.writeInt(libraryIndex);
-			return;
-		}
-		// add this object to the object table first
-		addToObjectTable(library);
-		String outString;
-
-		writeLabel(RegistryCacheReader.PLUGIN_LIBRARY_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(library.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(library.getStartLine());
-
-		if ((outString = library.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = library.getType()) != null) {
-			writeLabel(RegistryCacheReader.TYPE_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		String[] exports = null;
-		if ((exports = library.getExports()) != null) {
-			writeLabel(RegistryCacheReader.LIBRARY_EXPORTS_LENGTH_LABEL, out);
-			out.writeInt(exports.length);
-			writeLabel(RegistryCacheReader.LIBRARY_EXPORTS_LABEL, out);
-			for (int i = 0; i < exports.length; i++) {
-				out.writeUTF(exports[i]);
-			}
-		}
-		
-		// write out the declared package prefixes
-		String[] prefixes = library.getPackagePrefixes();
-		if (prefixes != null) {
-			writeLabel(RegistryCacheReader.LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL, out);
-			out.writeInt(prefixes.length);
-			writeLabel(RegistryCacheReader.LIBRARY_PACKAGES_PREFIXES_LABEL, out);
-			for (int i=0; i<prefixes.length; i++)
-				out.writeUTF(prefixes[i]);
-		}
-
-		// Don't bother caching 'isExported' and 'isFullyExported'.  There
-		// is no way of explicitly setting these fields.  They are computed
-		// from the values in the 'exports' list.
-		writeLabel(RegistryCacheReader.LIBRARY_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_LIBRARY_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writePluginDescriptor(PluginDescriptorModel plugin, DataOutputStream out) {
-
-	try {
-		// Check to see if this plugin already exists in the objectTable.  If it is there,
-		// it has already been written to the cache so just write out the index.
-		int pluginIndex = getFromObjectTable(plugin);
-		if (pluginIndex != -1) {
-			// this plugin is already there
-			writeLabel(RegistryCacheReader.PLUGIN_INDEX_LABEL, out);
-			out.writeInt(pluginIndex);
-			return;
-		}
-
-		// add this object to the object table first
-		addToObjectTable(plugin);
-		String outString;
-
-		writeLabel(RegistryCacheReader.PLUGIN_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(plugin.isReadOnly());
-		
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(plugin.getStartLine());
-
-		if ((outString = plugin.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = plugin.getId()) != null) {
-			writeLabel(RegistryCacheReader.ID_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = plugin.getProviderName()) != null) {
-			writeLabel(RegistryCacheReader.PLUGIN_PROVIDER_NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = plugin.getVersion()) != null) {
-			writeLabel(RegistryCacheReader.VERSION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = plugin.getPluginClass()) != null) {
-			writeLabel(RegistryCacheReader.PLUGIN_CLASS_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = plugin.getLocation()) != null) {
-			writeLabel(RegistryCacheReader.PLUGIN_LOCATION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		writeLabel(RegistryCacheReader.PLUGIN_ENABLED_LABEL, out);
-		out.writeBoolean(plugin.getEnabled());
-
-		// write out prerequisites
-		PluginPrerequisiteModel[] requires = plugin.getRequires();
-		int reqSize = (requires == null) ? 0 : requires.length;
-		if (reqSize != 0) {
-			for (int i = 0; i < reqSize; i++)
-				writePluginPrerequisite(requires[i], out);
-		}
-
-		// write out library entries
-		LibraryModel[] runtime = plugin.getRuntime();
-		int runtimeSize = (runtime == null) ? 0 : runtime.length;
-		if (runtimeSize != 0) {
-			for (int i = 0; i < runtimeSize; i++) {
-				writeLibrary(runtime[i], out);
-			}
-		}
-
-		// need to worry about cross links here
-		// now do extension points
-		ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
-		int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
-		if (extPointsSize != 0) {
-			for (int i = 0; i < extPointsSize; i++)
-				writeExtensionPoint(extensionPoints[i], out);
-		}
-
-		// and then extensions
-		ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-		int extSize = (extensions == null) ? 0 : extensions.length;
-		if (extSize != 0) {
-			for (int i = 0; i < extSize; i++) {
-				writeExtension(extensions[i], out);
-			}
-		}
-
-		// and then fragments
-		PluginFragmentModel[] fragments = plugin.getFragments();
-		int fragmentSize = (fragments == null) ? 0 : fragments.length;
-		if (fragmentSize != 0) {
-			for (int i = 0; i < fragmentSize; i++) {
-				writePluginFragment(fragments[i], out);
-			}
-		}
-
-		// Add the index to the registry object for this plugin
-		PluginRegistryModel parentRegistry = plugin.getRegistry();
-		writeLabel(RegistryCacheReader.PLUGIN_PARENT_LABEL, out);
-		// We can assume that the parent registry is already written out.
-		out.writeInt(getFromObjectTable(parentRegistry));
-
-		writeLabel(RegistryCacheReader.PLUGIN_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writePluginFragment(PluginFragmentModel fragment, DataOutputStream out) {
-
-	try {
-		// Check to see if this fragment already exists in the objectTable.  If it is there,
-		// it has already been written to the cache so just write out the index.
-		int fragmentIndex = getFromObjectTable(fragment);
-		if (fragmentIndex != -1) {
-			// this fragment is already there
-			writeLabel(RegistryCacheReader.FRAGMENT_INDEX_LABEL, out);
-			out.writeInt(fragmentIndex);
-			return;
-		}
-
-		// add this object to the object table first
-		addToObjectTable(fragment);
-		String outString;
-		byte outByte;
-
-		writeLabel(RegistryCacheReader.FRAGMENT_LABEL, out);
-		
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(fragment.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(fragment.getStartLine());
-
-		if ((outString = fragment.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getId()) != null) {
-			writeLabel(RegistryCacheReader.ID_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getProviderName()) != null) {
-			writeLabel(RegistryCacheReader.PLUGIN_PROVIDER_NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getVersion()) != null) {
-			writeLabel(RegistryCacheReader.VERSION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getLocation()) != null) {
-			writeLabel(RegistryCacheReader.PLUGIN_LOCATION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getPlugin()) != null) {
-			writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outString = fragment.getPluginVersion()) != null) {
-			writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_VERSION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		if ((outByte = fragment.getMatch()) != PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED) {
-			writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_MATCH_LABEL, out);
-			out.writeByte(outByte);
-		}
-
-		// write out prerequisites
-		PluginPrerequisiteModel[] requires = fragment.getRequires();
-		int reqSize = (requires == null) ? 0 : requires.length;
-		if (reqSize != 0) {
-			for (int i = 0; i < reqSize; i++)
-				writePluginPrerequisite(requires[i], out);
-		}
-
-		// write out library entries
-		LibraryModel[] runtime = fragment.getRuntime();
-		int runtimeSize = (runtime == null) ? 0 : runtime.length;
-		if (runtimeSize != 0) {
-			for (int i = 0; i < runtimeSize; i++) {
-				writeLibrary(runtime[i], out);
-			}
-		}
-
-		// need to worry about cross links here
-		// now do extension points
-		ExtensionPointModel[] extensionPoints = fragment.getDeclaredExtensionPoints();
-		int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
-		if (extPointsSize != 0) {
-			for (int i = 0; i < extPointsSize; i++)
-				writeExtensionPoint(extensionPoints[i], out);
-		}
-
-		// and then extensions
-		ExtensionModel[] extensions = fragment.getDeclaredExtensions();
-		int extSize = (extensions == null) ? 0 : extensions.length;
-		if (extSize != 0) {
-			for (int i = 0; i < extSize; i++) {
-				writeExtension(extensions[i], out);
-			}
-		}
-
-		// Add the index to the registry object for this plugin
-		PluginRegistryModel parentRegistry = fragment.getRegistry();
-		writeLabel(RegistryCacheReader.PLUGIN_PARENT_LABEL, out);
-		// We can assume that the parent registry is already written out.
-		out.writeInt(getFromObjectTable(parentRegistry));
-
-		writeLabel(RegistryCacheReader.FRAGMENT_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.FRAGMENT_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writePluginPrerequisite(PluginPrerequisiteModel requires, DataOutputStream out) {
-	try {
-		// Check to see if this prerequisite already exists in the objectTable.  If it
-		// is there, it has already been written to the cache so just write out
-		// the index.
-		int requiresIndex = getFromObjectTable(requires);
-		if (requiresIndex != -1) {
-			// this library is already there
-			writeLabel(RegistryCacheReader.REQUIRES_INDEX_LABEL, out);
-			out.writeInt(requiresIndex);
-			return;
-		}
-		// add this object to the object table first
-		addToObjectTable(requires);
-		String outString = null;
-
-		writeLabel(RegistryCacheReader.PLUGIN_REQUIRES_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(requires.isReadOnly());
-
-		writeLabel(RegistryCacheReader.START_LINE, out);
-		out.writeInt(requires.getStartLine());
-
-		if ((outString = requires.getName()) != null) {
-			writeLabel(RegistryCacheReader.NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = requires.getVersion()) != null) {
-			writeLabel(RegistryCacheReader.VERSION_LABEL, out);
-			out.writeUTF(outString);
-		}
-		
-		byte outMatch = requires.getMatchByte();
-		if (outMatch != PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED) {
-			writeLabel(RegistryCacheReader.REQUIRES_MATCH_LABEL, out);
-			out.writeByte(requires.getMatchByte());
-		}
-
-		writeLabel(RegistryCacheReader.REQUIRES_EXPORT_LABEL, out);
-		out.writeBoolean(requires.getExport());
-
-		writeLabel(RegistryCacheReader.REQUIRES_OPTIONAL_LABEL, out);
-		out.writeBoolean(requires.getOptional());
-
-		if ((outString = requires.getResolvedVersion()) != null) {
-			writeLabel(RegistryCacheReader.REQUIRES_RESOLVED_VERSION_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		if ((outString = requires.getPlugin()) != null) {
-			writeLabel(RegistryCacheReader.REQUIRES_PLUGIN_NAME_LABEL, out);
-			out.writeUTF(outString);
-		}
-
-		writeLabel(RegistryCacheReader.REQUIRES_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_REQUIRES_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-public void writePluginRegistry(PluginRegistryModel registry, DataOutputStream out) {
-	if (cacheWriteProblems == null) {
-		cacheWriteProblems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("meta.registryCacheWriteProblems"), null); //$NON-NLS-1$
-	}
-
-	try {
-		// Check to see if this registry already exists in the objectTable.  If it is there,
-		// it has already been written to the cache so just write out the index.
-		if (objectTable != null) {
-			int registryIndex = getFromObjectTable(registry);
-			if (registryIndex != -1) {
-				// this plugin is already there
-				writeLabel(RegistryCacheReader.REGISTRY_INDEX_LABEL, out);
-				out.writeInt(registryIndex);
-				return;
-			}
-		}
-
-		// add this object to the object table first
-		addToObjectTable(registry);
-		writeHeaderInformation(out);
-	
-		writeLabel(RegistryCacheReader.REGISTRY_LABEL, out);
-
-		writeLabel(RegistryCacheReader.READONLY_LABEL, out);
-		out.writeBoolean(registry.isReadOnly());
-
-		writeLabel(RegistryCacheReader.REGISTRY_RESOLVED_LABEL, out);
-		out.writeBoolean(registry.isResolved());
-		PluginDescriptorModel[] pluginList = registry.getPlugins();
-		for (int i = 0; i < pluginList.length; i++)
-			writePluginDescriptor(pluginList[i], out);
-		PluginFragmentModel[] fragmentList = registry.getFragments();
-		int fragmentLength = (fragmentList == null) ? 0 : fragmentList.length;
-		for (int i = 0; i < fragmentLength; i++)
-			writePluginFragment(fragmentList[i], out);
-		writeLabel(RegistryCacheReader.REGISTRY_END_LABEL, out);
-	} catch (IOException ioe) {
-		cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.REGISTRY_LABEL)), ioe)); //$NON-NLS-1$
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
deleted file mode 100644
index 42076bd..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXParseException;
-
-public class RegistryLoader {
-	private Factory factory;
-
-	// debug support
-	private boolean debug = false;
-	private long startTick = (new java.util.Date()).getTime(); // used for performance timings
-	private long lastTick = startTick;
-private RegistryLoader(Factory factory, boolean debug) {
-	super();
-	this.debug = debug;
-	this.factory = factory;
-}
-private void debug(String msg) {
-	long thisTick = System.currentTimeMillis();
-	System.out.println("RegistryLoader: " + msg + " [+"+ (thisTick - lastTick) + "ms]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	lastTick = thisTick;
-}
-private String[] getPathMembers(URL path) {
-	String[] list = null;
-	String protocol = path.getProtocol();
-	if (protocol.equals("file")) { //$NON-NLS-1$
-		list = (new File(path.getFile())).list();
-	} else {
-		// XXX: attempt to read URL and see if we got html dir page
-	}
-	return list == null ? new String[0] : list;
-}
-/**
- * Reports an error and returns true.
- */
-private boolean parseProblem(String message) {
-	factory.error(new Status(
-		IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null));
-	return true;
-}
-private PluginRegistryModel parseRegistry(URL[] pluginPath) {
-	long startTick = System.currentTimeMillis();
-	PluginRegistryModel result = processManifestFiles(pluginPath);
-	if (InternalPlatform.DEBUG) {
-		long endTick = System.currentTimeMillis();
-		debug("Parsed Registry: " + (endTick - startTick) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	return result;
-}
-public static PluginRegistryModel parseRegistry(URL[] pluginPath, Factory factory, boolean debug) {
-	return new RegistryLoader(factory, debug).parseRegistry(pluginPath);
-}
-private PluginModel processManifestFile(URL manifest) {
-	InputStream is = null;
-	try {
-		is = manifest.openStream();
-	} catch (IOException e) {
-		if (debug)
-			debug("No plugin found for: " + manifest); //$NON-NLS-1$
-		return null;
-	}
-	PluginModel result = null;
-	try {
-		try {
-			InputSource in = new InputSource(is);
-			// Give the system id a value in case we want it for
-			// error reporting within the parser.
-			in.setSystemId(manifest.getFile());
-			result = new PluginParser((Factory) factory).parsePlugin(in);
-		} finally {
-			is.close();
-		}
-	} catch (SAXParseException se) {
-		/* exception details logged by parser */
-		factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.errorProcessing", manifest.toString()), null)); //$NON-NLS-1$
-	} catch (Exception e) {
-		factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.errorProcessing", manifest.toString() + ":  " + e.getMessage()), null)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	return result;
-}
-private PluginRegistryModel processManifestFiles(URL[] pluginPath) {
-	PluginRegistryModel result = factory.createPluginRegistry();
-	for (int i = 0; i < pluginPath.length; i++)
-		processPluginPathEntry(result, pluginPath[i]);
-	return result;
-}
-private void processPluginPathEntry(PluginRegistryModel registry, URL location) {
-	if (debug)
-		debug("Path - " + location); //$NON-NLS-1$
-	if (location.getFile().endsWith("/")) { //$NON-NLS-1$
-		// directory entry - search for plugins
-		String[] members = getPathMembers(location);
-		for (int j = 0; j < members.length; j++) {
-			boolean found = false;
-			try {
-				found = processPluginPathFile(registry, new URL(location, members[j] + "/plugin.xml")); //$NON-NLS-1$
-				if (!found)
-					found = processPluginPathFile(registry, new URL(location, members[j] + "/fragment.xml")); //$NON-NLS-1$
-			} catch (MalformedURLException e) {
-				// Skip bad URLs
-			}
-			if (debug)
-				debug(found ? "Processed - " : "Processed (not found) - " + members[j]); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	} else {
-		// specific file entry - load the given file
-		boolean found = processPluginPathFile(registry, location);
-		if (debug)
-			debug(found ? "Processed - " : "Processed (not found) - " + location); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
-/**
- * @return true if a file was found at the given location, and false otherwise.
- */
-private boolean processPluginPathFile(PluginRegistryModel registry, URL location) {
-	PluginModel entry = processManifestFile(location);
-	if (entry == null)
-		return false;
-	// Make sure all the required fields are here.
-	// This prevents us from things like NullPointerExceptions
-	// when we are assuming a field exists.
-	if (!requiredPluginModel(entry, location)) {
-		entry = null;
-		return false;
-	}
-	entry.setVersion(getQualifiedVersion(entry, location)); // check for version qualifier
-	if (entry instanceof PluginDescriptorModel) {
-		if (entry.getId() == null || entry.getVersion() == null) {
-			return parseProblem(Policy.bind("parse.nullPluginIdentifier", location.toString())); //$NON-NLS-1$
-		}
-		//skip duplicate entries
-		if (registry.getPlugin(entry.getId(), entry.getVersion()) != null) {
-			return parseProblem(Policy.bind("parse.duplicatePlugin", entry.getId(), location.toString())); //$NON-NLS-1$
-		}
-		registry.addPlugin((PluginDescriptorModel) entry);
-	} else {
-		if (entry.getId() == null || entry.getVersion() == null) {
-			return parseProblem(Policy.bind("parse.nullFragmentIdentifier", location.toString())); //$NON-NLS-1$
-		}
-		if (entry instanceof PluginFragmentModel) {
-			registry.addFragment((PluginFragmentModel) entry);
-		} else {
-			return parseProblem(Policy.bind("parse.unknownEntry", location.toString())); //$NON-NLS-1$
-		}
-	}
-	String url = location.toString();
-	url = url.substring(0, 1 + url.lastIndexOf('/'));
-	entry.setRegistry(registry);
-	entry.setLocation(url);
-	InternalPlatform.addLastModifiedTime(location.getFile(), new File(location.getFile()).lastModified());
-	return true;
-}
-private String getQualifiedVersion(PluginModel entry, URL base) {
-	if (entry == null || entry.getVersion() == null || entry.getId() == null)
-		return null;
-		
-	InputStream is = null;
-	try {		
-		// check to see if we have buildmanifest.properties for this plugin
-		URL manifest = null;
-		manifest = new URL(base, "buildmanifest.properties"); //$NON-NLS-1$
-		Properties props = new Properties();
-		is = manifest.openStream();
-		props.load(is);
-	
-		// lookup qualifier for this plugin and "morph" the identifier if needed
-		String key = "plugin@"+entry.getId(); //$NON-NLS-1$
-		String qualifier = props.getProperty(key);
-		if (qualifier == null)
-			return entry.getVersion();
-		PluginVersionIdentifier v = new PluginVersionIdentifier(entry.getVersion());
-		if (!v.getQualifierComponent().equals("")) //$NON-NLS-1$
-			return entry.getVersion();
-		else 
-			return (new PluginVersionIdentifier(v.getMajorComponent(), v.getMinorComponent(), v.getServiceComponent(), qualifier)).toString();
-	} catch(Exception e) {
-		return entry.getVersion();
-	} finally {		
-		if (is != null)
-			try {
-				is.close();
-			} catch (IOException e) {
-				// Don't throw anything back if the close fails
-			}
-	}
-}
-private boolean requiredPluginModel(PluginModel plugin, URL location) {
-	String name = plugin.getName();
-	String id = plugin.getId();
-	String version = plugin.getVersion();
-	int nameLength = name == null ? 0 : name.length();
-	int idLength = id == null ? 0 : id.length();
-	int versionLength = version == null ? 0 : version.length();
-	
-	if (nameLength <= 0) {
-		parseProblem(Policy.bind("parse.missingPluginName", location.toString())); //$NON-NLS-1$
-		return false;
-	}
-	if (idLength <= 0) {
-		parseProblem(Policy.bind("parse.missingPluginId", location.toString())); //$NON-NLS-1$
-		return false;
-	}
-	if (versionLength <= 0) {
-		parseProblem(Policy.bind("parse.missingPluginVersion", location.toString())); //$NON-NLS-1$
-		return false;
-	}
-
-	if (plugin instanceof PluginFragmentModel) {	
-		String pluginName = ((PluginFragmentModel)plugin).getPlugin();
-		String pluginVersion = ((PluginFragmentModel)plugin).getPluginVersion();
-		int pNameLength = pluginName == null ? 0 : pluginName.length();
-		int pNameVersion = pluginVersion == null ? 0 : pluginVersion.length();
-		if (pNameLength <= 0) {
-			parseProblem(Policy.bind("parse.missingFPName", location.toString())); //$NON-NLS-1$
-			return false;
-		}
-		if (pNameVersion <= 0) {
-			parseProblem(Policy.bind("parse.missingFPVersion", location.toString())); //$NON-NLS-1$
-			return false;
-		}
-	}
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
deleted file mode 100644
index 880244d..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
+++ /dev/null
@@ -1,1335 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.util.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryResolver {
-
-	private Map idmap;
-	private PluginRegistryModel reg;
-	private MultiStatus status;
-	private boolean trimPlugins = true;
-	private boolean crossLink = true;
-
-	private boolean DEBUG_RESOLVE = false;
-	private static final String OPTION_DEBUG_RESOLVE = "org.eclipse.core.runtime/registry/debug/resolve"; //$NON-NLS-1$
-
-	// constraint entry
-	// A constraint is made for each relationship where 'parent' requires 'prq'.
-	// ver is the version number we must try to match.  It can be null if we just
-	// want to match the latest.
-	// cEntry points to the parent ConstraintsEntry element.
-	private class Constraint {
-		private PluginDescriptorModel parent;
-		private PluginPrerequisiteModel prq;
-		private PluginVersionIdentifier ver;
-		private byte type = PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED;
-		private ConstraintsEntry cEntry = null;
-
-		private Constraint(PluginDescriptorModel parent, PluginPrerequisiteModel prq) {
-			this.parent = parent;
-			this.prq = prq;
-			if (prq != null) {
-				ver = RegistryResolver.this.getVersionIdentifier(prq);
-				type = prq.getMatchByte();
-				if ((ver != null) &&
-				    (type == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED))
-					type = PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE;
-			}
-		}
-
-		private int getMatchType() {
-			return type;
-		}
-
-		private ConstraintsEntry getConstraintsEntry() {
-			return cEntry;
-		}
-
-		private void setConstraintsEntry(ConstraintsEntry entry) {
-			cEntry = entry;
-		}
-
-		private PluginDescriptorModel getParent() {
-			return parent;
-		}
-
-		private PluginPrerequisiteModel getPrerequisite() {
-			return prq;
-		}
-
-		private PluginVersionIdentifier getVersionIdentifier() {
-			return ver;
-		}
-
-		public String toString() {
-			if (prq == null)
-				return "(null)"; //$NON-NLS-1$
-			String s = parent.toString() + "->" + prq.getPlugin(); //$NON-NLS-1$
-			switch (prq.getMatchByte()) {
-				case PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED:
-					s += "(any)"; //$NON-NLS-1$
-					break;
-				case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
-					s += IModel.PLUGIN_REQUIRES_MATCH_PERFECT;
-					break;
-				case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
-					s += IModel.PLUGIN_REQUIRES_MATCH_EQUIVALENT;
-					break;
-				case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
-					s += IModel.PLUGIN_REQUIRES_MATCH_COMPATIBLE;
-					break;
-				case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
-					s += IModel.PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL;
-					break;
-			}
-			return s;
-		}
-	}
-
-	// constraint index structure
-	// Each time an IndexEntry is created, a single ContraintsEntry
-	// is created and put into the IndexEntry's concurrentList.
-	// Note that the new ConstraintsEntry will always point
-	// back to the IndexEntry it is associated with (parent).
-	// A ConstraintsEntry holds a group of constraints that can be
-	// resolved, without conflict for a particular plugin id.  The
-	// constraints are all of the form where another plugin id 
-	// requires some version of this plugin id as a prerequisite.
-	private class ConstraintsEntry {
-		private IndexEntry parent;
-		private List constraintList = new LinkedList();
-		// lastResolved doesn't seem to be used.  Is it designed to
-		// eliminate the numerous calls to find a matching plugin 
-		// descriptor?  Calls to find a matching plugin descriptor
-		// iterate through each version of this plugin and each 
-		// constraint in each ConstraintsEntry.
-		private PluginDescriptorModel lastResolved = null;
-		private boolean isResolved = false;
-		private PluginDescriptorModel bestMatch = null;
-		private boolean bestMatchEnabled = false;
-
-		private ConstraintsEntry(IndexEntry parent) {
-			// Create a new ConstraintsEntry and point 'parent'
-			// back to the associated IndexEntry
-			this.parent = parent;
-		}
-
-		private int constraintCount() {
-			// Returns the number of Constraint entries in
-			// constraintList.  Initially this will be 0.
-			return constraintList.size();
-		}
-
-		private PluginDescriptorModel addConstraint(Constraint c) {
-			// Add this Constraint to the list of constraints 
-			// for this ConstraintsEntry.  Note that while a
-			// given ConstraintsEntry can have many Constraints,
-			// any Constraint can have only one ConstraintsEntry.
-			// This method will return a single plugin descriptor which
-			// is the most recent descriptor which satisfies this 
-			// constraint.
-			constraintList.add(c);
-			c.setConstraintsEntry(this);
-			// get all of the plugin descriptors which satisfy this 
-			// constraint and all other constraints in this ConstraintsEntry
-			List constrained = getMatchingDescriptors();
-			if (constrained.size() <= 0) {
-				// looks like we have a conflict
-				constraintList.remove(c);
-				c.setConstraintsEntry(null);
-				return null;
-			} else {
-				// match will be only the latest version plugin which 
-				// satisfies these constraints
-				PluginDescriptorModel match = (PluginDescriptorModel) constrained.get(0);
-				if (!match.equals(lastResolved)) {
-					lastResolved = match;
-					isResolved = false;
-				}
-				return match;
-			}
-		}
-
-		private void removeConstraint(Constraint c) {
-			if (DEBUG_RESOLVE)
-				debug("removing constraint " + c.toString()); //$NON-NLS-1$
-			constraintList.remove(c);
-			c.setConstraintsEntry(null);
-			lastResolved = null;
-			isResolved = false;
-		}
-
-		private void removeConstraintFor(PluginPrerequisiteModel prereq) {
-			List remove = new ArrayList();
-			for (Iterator list = constraintList.iterator(); list.hasNext();) {
-				Constraint c = (Constraint) list.next();
-				if (c.getPrerequisite() == prereq)
-					remove.add(c);
-			}
-			for (Iterator list = remove.iterator(); list.hasNext();)
-				removeConstraint((Constraint) list.next());
-		}
-
-		private PluginDescriptorModel getMatchingDescriptor() {
-			// We do this a lot. Can we use some mechanism to 
-			// hold the last matching descriptor and discard
-			// it if the constraints change?
-			List constrained = getMatchingDescriptors();
-			if (constrained.size() <= 0)
-				return null;
-			else
-				return (PluginDescriptorModel) constrained.get(0);
-		}
-
-		private List getMatchingDescriptors() {
-			// The object of the game here is to return a list of plugin
-			// descriptors that match the list of Constraint elements
-			// hanging off this ConstraintsEntry.
-			
-			// constrained will be a list of matching plugin descriptors
-			List constrained = new LinkedList();
-
-			for (Iterator list = parent.versions().iterator(); list.hasNext();) {
-				// parent is an IndexEntry and versions is a list of all the 
-				// plugin descriptors, in version order (biggest to smallest),
-				// that have this plugin id.
-				PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
-				if (pd.getEnabled())
-					constrained.add(pd);
-			}
-			// constrained now contains all of the enabled plugin descriptors for
-			// this IndexEntry.  The next step is to remove any that don't fit.
-
-			for (Iterator list = constraintList.iterator(); list.hasNext();) {
-				// For each Constraint, go through all of the versions of this plugin
-				// and remove any from 'constrained' which don't match the criteria
-				// for this Constraint.
-				
-				// constraintList is all the Constraint entries for this ConstraintsEntry.
-				Constraint c = (Constraint) list.next();
-				if (c.getMatchType() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED)
-					continue;
-				for (Iterator list2 = parent.versions().iterator(); list2.hasNext();) {
-					PluginDescriptorModel pd = (PluginDescriptorModel) list2.next();
-					if (!pd.getEnabled())
-						// ignore disabled plugins
-						continue;
-					switch (c.getMatchType()) {
-						case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
-							if (!getVersionIdentifier(pd).isPerfect(c.getVersionIdentifier()))
-								constrained.remove(pd);
-							break;
-						case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
-							if (!getVersionIdentifier(pd).isEquivalentTo(c.getVersionIdentifier()))
-								constrained.remove(pd);
-							break;
-						case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
-							if (!getVersionIdentifier(pd).isCompatibleWith(c.getVersionIdentifier()))
-								constrained.remove(pd);
-							break;
-						case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
-							if (!getVersionIdentifier(pd).isGreaterOrEqualTo(c.getVersionIdentifier()))
-								constrained.remove(pd);
-							break;
-					}
-				}
-			}
-			
-			// At this point, constrained will contain only those plugin descriptors which
-			// satisfy ALL of the Constraint entries.
-
-			return constrained;
-		}
-
-		private void preresolve(List roots) {
-			// All of the constraints that need to be added, have been.  Now just
-			// pick the plugin descriptor that is a best fit for all of these
-			// constraints.  Root nodes will not have any constraints (since nothing
-			// requires this plugin as a prerequisite, by definition).  For root
-			// node, just pick up the latest version.
-
-			if (constraintList.size() <= 0) {
-				// This should be a root descriptor.  So, just pick up the latest
-				// version of the root.
-				if (roots.contains(parent.getId())) {
-					bestMatch = (PluginDescriptorModel) parent.versions().get(0);
-					if (bestMatch == null) {
-						if (DEBUG_RESOLVE)
-							debug("*ERROR* no resolved descriptor for " + parent.getId()); //$NON-NLS-1$
-					} else
-						bestMatchEnabled = bestMatch.getEnabled();
-				}
-			} else {
-				// If this isn't a root descriptor, get the latest version of the
-				// plugin descriptor which matches all the constraints we have.
-				// Pick the plugin that best matches all the constraints.  Any
-				// allowable conflicts will be in another ConstraintsEntry.
-				bestMatch = getMatchingDescriptor();
-				if (bestMatch == null) {
-					if (DEBUG_RESOLVE)
-						debug("*ERROR* no resolved descriptor for " + parent.getId()); //$NON-NLS-1$
-				} else
-					bestMatchEnabled = true;
-			}
-		}
-
-		private void resolve() {
-			// Assumptions:  All constraints that need to be added, have been.
-			//		- preresolve (above) has been called and a bestMatch (if it 
-			//		exists) has been identified
-			//		- all versions of this plugin have been disabled (so it is
-			//		up to this method to enable the plugin that is a bestMatch
-			//		for all of the constraints in this ConstraintsEntry).
-			if (bestMatch != null) {
-				// All of the versions of this plugin will have been disabled.
-				// Enable only the one which is the best match.
-				// bestMatchEnabled will be set to false if this particular plugin
-				// caused an unresolvable conflict.  Therefore, setEnabled(bestMatchEnabled)
-				// will leave this delinquent plugin disabled.
-				bestMatch.setEnabled(bestMatchEnabled);
-				if (bestMatchEnabled) {
-					if (DEBUG_RESOLVE)
-						debug("configured " + bestMatch.toString()); //$NON-NLS-1$
-					if (constraintList.size() > 0) {
-						for (int i = 0; i < constraintList.size(); i++) {
-							// Put which actual version this prerequisite resolved to in the
-							// relevant prerequisite in the registry.
-							PluginPrerequisiteModel prq = (PluginPrerequisiteModel) ((Constraint) constraintList.get(i)).getPrerequisite();
-							prq.setResolvedVersion(getVersionIdentifier(bestMatch).toString());
-						}
-					}
-				}
-			}
-		}
-
-		private boolean isResolved() {
-			return this.isResolved;
-		}
-		private void isResolved(boolean isResolved) {
-			this.isResolved = isResolved;
-		}
-	}
-
-	// plugin descriptor index structure
-	// There is exactly one IndexEntry for each plugin id.
-	// The actual plugin descriptor is an element of verList.
-	// Multiple versions of this plugin id are found in verList
-	// and are ordered from the highest version number (assumed
-	// to be the most recent) to the lowest version number.
-	// concurrentList contains a list of ConstraintsEntry's which
-	// group constraints together into non-conflicting groups.
-	private class IndexEntry {
-		private String id;
-		private List verList = new LinkedList();
-		private List concurrentList = new ArrayList();
-
-		private IndexEntry(String id) {
-			this.id = id;
-			// Create the first ConstraintsEntry with no constraints
-			concurrentList.add(new ConstraintsEntry(this));
-		}
-
-		private String getId() {
-			return id;
-		}
-
-		private ConstraintsEntry getConstraintsEntryFor(Constraint c) {
-			// Each Constraint must have exactly one ConstraintsEntry but
-			// a ConstraintsEntry may have many (non-conflicting) Constraints.
-			ConstraintsEntry ce = c.getConstraintsEntry();
-			if (ce != null)
-				return ce;
-			ce = (ConstraintsEntry) concurrentList.get(0);
-			if (c.getPrerequisite() == null)
-				c.setConstraintsEntry(ce);
-			return ce;
-		}
-
-		private PluginDescriptorModel addConstraint(Constraint c) {
-			int concurrentCount = concurrentList.size();
-
-			// try to find constraits entry that can accommodate new constraint
-			for (Iterator list = concurrentList.iterator(); list.hasNext();) {
-				ConstraintsEntry cie = (ConstraintsEntry) list.next();
-				PluginDescriptorModel pd = cie.addConstraint(c);
-				// If pd comes back null, adding this constraint to the
-				// ConstraintsEntry cie will cause a conflict (no plugin
-				// descriptor can satisfy all the constraints).
-				if (pd != null) {
-
-					// constraint added OK and no concurrency
-					if (concurrentCount <= 1)
-						return pd;
-
-					// constraint added OK but have concurrency
-					if (allowConcurrencyFor(pd))
-						return pd;
-					else {
-						cie.removeConstraint(c); // cannot be concurrent
-						return null;
-					}
-				}
-			}
-
-			// If we get to this point, the constraint we are trying to add
-			// gave us no matching plugins when used in conjunction with the
-			// other constraints in a particular ConstraintsEntry.  Add a
-			// new ConstraintsEntry and put this constraint in it (only if
-			// concurrency is allowed).  Concurrency is allowed only if the
-			// plugin we find which matches this constraint has no extensions
-			// or extension points.
-			
-			// attempt to create new constraints entry
-			ConstraintsEntry cie;
-			PluginDescriptorModel pd;
-
-			if (concurrentList.size() == 1) {
-				// ensure base entry allows concurrency
-				cie = (ConstraintsEntry) concurrentList.get(0);
-				pd = cie.getMatchingDescriptor();
-				if (!allowConcurrencyFor(pd))
-					return null;
-			}
-
-			cie = new ConstraintsEntry(this);
-			pd = cie.addConstraint(c);
-			if (pd == null) {
-				cie.removeConstraint(c); // no matching target
-				return null;
-			}
-			if (!allowConcurrencyFor(pd)) {
-				cie.removeConstraint(c); // cannot be concurrent
-				return null;
-			}
-			if (DEBUG_RESOLVE)
-				debug("creating new constraints list in " + id + " for " + c.toString()); //$NON-NLS-1$ //$NON-NLS-2$
-			concurrentList.add(cie);
-			return pd;
-		}
-
-		private boolean allowConcurrencyFor(PluginDescriptorModel pd) {
-			if (pd == null)
-				return false;
-			if (pd.getDeclaredExtensions() != null && pd.getDeclaredExtensions().length > 0)
-				return false;
-			if (pd.getDeclaredExtensionPoints() != null && pd.getDeclaredExtensionPoints().length > 0)
-				return false;
-			return true;
-		}
-
-		private void removeConstraint(Constraint c) {
-			ConstraintsEntry cie = getConstraintsEntryFor(c);
-			cie.removeConstraint(c);
-			if (concurrentList.get(0) != cie && cie.constraintCount() == 0)
-				concurrentList.remove(cie);
-		}
-
-		private void removeConstraintFor(PluginPrerequisiteModel prereq) {
-			for (Iterator list = concurrentList.iterator(); list.hasNext();)
-				 ((ConstraintsEntry) list.next()).removeConstraintFor(prereq);
-		}
-
-		private PluginDescriptorModel getMatchingDescriptorFor(Constraint c) {
-			ConstraintsEntry cie = getConstraintsEntryFor(c);
-			return cie.getMatchingDescriptor();
-		}
-
-		private void disableAllDescriptors() {
-			for (Iterator list = verList.iterator(); list.hasNext();) {
-				PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
-				pd.setEnabled(false);
-			}
-		}
-		
-		private void resolveDependencies(List roots) {
-			// preresolved will pick out the plugin which has the highest version
-			// number and satisfies all the constraints.  This is then put in
-			// bestMatch field of the ConstraintsEntry.
-			for (Iterator list = concurrentList.iterator(); list.hasNext();)
-				 ((ConstraintsEntry) list.next()).preresolve(roots);
-			// Now all versions of this plugin are disabled.
-			disableAllDescriptors();
-			// Now, find the best match (from preresolve above) and enable it.
-			// Be sure to update any prerequisite entries with the version number
-			// of the plugin we are actually using.
-			for (Iterator list = concurrentList.iterator(); list.hasNext();)
-				 ((ConstraintsEntry) list.next()).resolve();
-		}
-		/**
-		 * A root plug-in does not have any constraints attached to it.
-		 */
-		private boolean isRoot() {			
-			if (concurrentList.size() != 1)
-				return false;
-			ConstraintsEntry constraintsEntry = (ConstraintsEntry) concurrentList.get(0);
-			return constraintsEntry.constraintCount() == 0;
-		}
-
-		private List versions() {
-			return verList;
-		}
-
-		private boolean isResolvedFor(Constraint c) {
-			ConstraintsEntry cie = getConstraintsEntryFor(c);
-			return cie.isResolved();
-		}
-
-		private void isResolvedFor(Constraint c, boolean value) {
-			ConstraintsEntry cie = getConstraintsEntryFor(c);
-			cie.isResolved(value);
-		}
-
-	}
-
-	// subtree resolution "cookie" (composite change list)
-	private class Cookie {
-		private boolean ok = true;
-		private List changes = new ArrayList(); // a list of Constraints
-
-		private Cookie() {
-		}
-
-		private boolean addChange(Constraint c) {
-			// Keep a list of all constraints so that
-			//	- we can spot circular dependencies
-			//	- we can clean up if there is an unresolvable conflict
-			PluginPrerequisiteModel prereq = c.getPrerequisite();
-			for (Iterator list = changes.iterator(); list.hasNext();)
-				if (prereq == ((Constraint)list.next()).getPrerequisite())
-					// We have a circular dependency
-					return false;
-			changes.add(c);
-			return true;
-		}
-
-		private List getChanges() {
-			return changes;
-		}
-
-		private void clearChanges() {
-			if (changes.size() >= 0)
-				changes = new ArrayList();
-		}
-
-		private boolean isOk() {
-			return ok;
-		}
-
-		private void isOk(boolean value) {
-			ok = value;
-		}
-	}
-public RegistryResolver() {	
-	String debug = Platform.getDebugOption(OPTION_DEBUG_RESOLVE);
-	DEBUG_RESOLVE = debug==null ? false : ( debug.equalsIgnoreCase("true") ? true : false ); //$NON-NLS-1$
-}
-private void add(PluginDescriptorModel pd) {
-
-	String key = pd.getId();
-	List verList;
-	IndexEntry ix = (IndexEntry) idmap.get(key);
-
-	// create new index entry if one does not exist for plugin
-	if (ix == null) {
-		ix = new IndexEntry(key);
-		idmap.put(key, ix);
-	}
-
-	// insert plugin into list maintaining version order
-	verList = ix.versions();
-	int i = 0;
-	for (i = 0; i < verList.size(); i++) {
-		PluginDescriptorModel element = (PluginDescriptorModel) verList.get(i);
-		if (getVersionIdentifier(pd).equals(getVersionIdentifier(element)))
-			return; // ignore duplicates
-		if (getVersionIdentifier(pd).isGreaterThan(getVersionIdentifier(element)))
-			break;
-	}
-	verList.add(i, pd);
-}
-private void addExtensions(ExtensionModel[] extensions, PluginDescriptorModel plugin) {
-	// Add all the extensions (presumably from a fragment) to plugin
-	int extLength = extensions.length;
-	for (int i = 0; i < extLength; i++) {
-		extensions[i].setParentPluginDescriptor (plugin);
-	}
-	ExtensionModel[] list = plugin.getDeclaredExtensions();
-	int listLength = (list == null ? 0 : list.length);
-	ExtensionModel[] result = null;
-	if (list == null)
-		result = new ExtensionModel[extLength];
-	else {
-		result = new ExtensionModel[list.length + extLength];
-		System.arraycopy(list, 0, result, 0, list.length);
-	}
-	System.arraycopy(extensions, 0, result, listLength, extLength); 
-	plugin.setDeclaredExtensions(result);
-}
-private void addExtensionPoints(ExtensionPointModel[] extensionPoints, PluginDescriptorModel plugin) {
-	// Add all the extension points (presumably from a fragment) to plugin
-	int extPtLength = extensionPoints.length;
-	for (int i = 0; i < extPtLength; i++) {
-		extensionPoints[i].setParentPluginDescriptor (plugin);
-	}
-	ExtensionPointModel[] list = plugin.getDeclaredExtensionPoints();
-	int listLength = (list == null ? 0 : list.length);
-	ExtensionPointModel[] result = null;
-	if (list == null)
-		result = new ExtensionPointModel[extPtLength];
-	else {
-		result = new ExtensionPointModel[list.length + extPtLength];
-		System.arraycopy(list, 0, result, 0, list.length);
-	}
-	System.arraycopy(extensionPoints, 0, result, listLength, extPtLength); 
-	plugin.setDeclaredExtensionPoints(result);
-}
-private void addLibraries(LibraryModel[] libraries, PluginDescriptorModel plugin) {
-	// Add all the libraries (presumably from a fragment) to plugin
-	int libLength = libraries.length;
-	LibraryModel[] list = plugin.getRuntime();
-	LibraryModel[] result = null;
-	int listLength = (list == null ? 0 : list.length);
-	if (list == null)
-		result = new LibraryModel[libLength];
-	else {
-		result = new LibraryModel[list.length + libLength];
-		System.arraycopy(list, 0, result, 0, list.length);
-	}
-	System.arraycopy(libraries, 0, result, listLength, libLength); 
-	plugin.setRuntime(result);
-}
-private void addPrerequisites(PluginPrerequisiteModel[] prerequisites, PluginDescriptorModel plugin) {
-	// Add all the prerequisites (presumably from a fragment) to plugin
-	int reqLength = prerequisites.length;
-	PluginPrerequisiteModel[] list = plugin.getRequires();
-	PluginPrerequisiteModel[] result = null;
-	int listLength = (list == null ? 0 : list.length);
-	if (list == null)
-		result = new PluginPrerequisiteModel[reqLength];
-	else {
-		result = new PluginPrerequisiteModel[list.length + reqLength];
-		System.arraycopy(list, 0, result, 0, list.length);
-	}
-	System.arraycopy(prerequisites, 0, result, listLength, reqLength); 
-	plugin.setRequires(result);
-}
-private void debug(String s) {
-	System.out.println("Registry Resolve: "+s); //$NON-NLS-1$
-}
-private void error(String message) {
-	Status error = new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null);
-	status.add(error);
-	if (InternalPlatform.DEBUG && DEBUG_RESOLVE)
-		System.out.println(error.toString());
-}
-private void information(String message) {
-	if (InternalPlatform.DEBUG && DEBUG_RESOLVE)
-		System.out.println(message);
-}
-public IExtensionPoint getExtensionPoint(PluginDescriptorModel plugin, String extensionPointId) {
-	if (extensionPointId == null)
-		return null;
-	ExtensionPointModel[] list = plugin.getDeclaredExtensionPoints();
-	if (list == null)
-		return null;
-	for (int i = 0; i < list.length; i++) {
-		if (extensionPointId.equals(list[i].getId()))
-			return (IExtensionPoint) list[i];
-	}
-	return null;
-}
-private PluginVersionIdentifier getVersionIdentifier(PluginModel model) {
-	try {
-		return new PluginVersionIdentifier(model.getVersion());
-	} catch (Throwable e) {
-		// Hopefully, we will never get here.  The version number
-		// has already been successfully converted from a string to
-		// a PluginVersionIdentifier and back to a string.  But keep
-		// this catch around in case something does go wrong.
-		return new PluginVersionIdentifier("0.0.0"); //$NON-NLS-1$
-	}
-}
-private PluginVersionIdentifier getVersionIdentifier(PluginPrerequisiteModel prereq) {
-	String version = prereq.getVersion();
-	return version == null ? null : new PluginVersionIdentifier(version);
-}
-private boolean fragmentHasPrerequisites (PluginFragmentModel fragment) {
-	PluginPrerequisiteModel[] requires = fragment.getRequires();
-	if (requires == null || requires.length == 0)
-		return true;
-	for (int i = 0; i < requires.length; i++) {
-		// Use the idmap to determine if a plugin exists.  We know
-		// that all plugins in this registry already have an entry
-		// in the idmap.  If the right idmap entry doesn't exist,
-		// this plugin is not in the registry.
-		if (idmap.get(requires[i].getPlugin()) == null) {
-			// We know this plugin doesn't exist
-			error(Policy.bind("parse.badPrereqOnFrag", fragment.getName(), requires[i].getPlugin())); //$NON-NLS-1$
-			return false;
-		}
-	}
-	return true;
-}
-private void linkFragments() {
-	/* For each fragment, find out which plugin descriptor it belongs
-	 * to and add it to the list of fragments in this plugin.
-	 */
-	PluginFragmentModel[] fragments = reg.getFragments();
-	for (int i = 0; i < fragments.length; i++) {
-		PluginFragmentModel fragment = fragments[i];
-		if (!requiredFragment(fragment)) {
-			// There is a required field missing on this fragment, so 
-			// ignore it.
-			String id, name;
-			if ((id = fragment.getId()) != null)
-				error (Policy.bind("parse.fragmentMissingAttr", id)); //$NON-NLS-1$
-			else if ((name = fragment.getName()) != null)
-				error (Policy.bind("parse.fragmentMissingAttr", name)); //$NON-NLS-1$
-			else
-				error (Policy.bind("parse.fragmentMissingIdName")); //$NON-NLS-1$
-			continue;
-		}
-		if (!fragmentHasPrerequisites(fragment)) {
-			// This fragment requires a plugin that does not 
-			// exist.  Ignore the fragment.
-			continue;
-		}
-		
-		// Now find a plugin that fits the matching criteria specified for this fragment and
-		// its related plugin
-		PluginDescriptorModel plugin = null;
-		IndexEntry ix = (IndexEntry) idmap.get(fragment.getPluginId());
-		byte matchType = fragment.getMatch();
-		if (ix != null) {
-			for (Iterator list = ix.versions().iterator(); list.hasNext() && plugin == null;) {
-				PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
-				if (pd.getEnabled()) {
-					// return the highest version that fits the matching criteria
-					switch (matchType) {
-						case PluginFragmentModel.FRAGMENT_MATCH_PERFECT:
-							if (getVersionIdentifier(pd).isPerfect(new PluginVersionIdentifier(fragment.getPluginVersion())))
-								plugin = pd;
-							break;
-						case PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT:
-							if (getVersionIdentifier(pd).isEquivalentTo(new PluginVersionIdentifier(fragment.getPluginVersion())))
-								plugin = pd;
-							break;
-						case PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE:
-						case PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED:
-							if (getVersionIdentifier(pd).isCompatibleWith(new PluginVersionIdentifier(fragment.getPluginVersion())))
-								plugin = pd;
-							break;
-						case PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL:
-							if (getVersionIdentifier(pd).isGreaterOrEqualTo(new PluginVersionIdentifier(fragment.getPluginVersion())))
-								plugin = pd;
-							break;
-					}
-				}
-			}
-		}
-
-		if (plugin == null) {
-			// We couldn't find this fragment's plugin
-			error (Policy.bind("parse.missingFragmentPd", fragment.getPluginId(), fragment.getId())); //$NON-NLS-1$
-			continue;
-		}
-		
-		// Add this fragment to the list of fragments for this plugin descriptor
-		PluginFragmentModel[] list = plugin.getFragments();
-		PluginFragmentModel[] newList;
-		if (list == null) {
-			newList = new PluginFragmentModel[1];
-			newList[0] = fragment;
-		} else {
-			newList = new PluginFragmentModel[list.length + 1];
-			System.arraycopy(list, 0, newList, 0, list.length);
-			newList[list.length] = fragment;
-		}
-		plugin.setFragments(newList);
-	}
-}
-private void removeConstraintFor(PluginPrerequisiteModel prereq) {
-
-	String id = prereq.getPlugin();
-	IndexEntry ix = (IndexEntry) idmap.get(id);
-	if (ix == null) {
-		if (DEBUG_RESOLVE)
-			debug("unable to locate index entry for " + id); //$NON-NLS-1$
-		return;
-	}
-	ix.removeConstraintFor(prereq);
-}
-private void resolve() {
-
-	// Start by putting each plugin in the idmap.  We are
-	// going to need this for the call to linkFragments.
-	PluginDescriptorModel[] pluginList = reg.getPlugins();
-	idmap = new HashMap();
-	for (int i = 0; i < pluginList.length; i++) {
-		// Check to see if all the required fields exist now.
-		// For example, if we have a null plugin version identifier,
-		// the add(pluginList[i]) will give a null pointer
-		// exception.
-		if (!requiredPluginDescriptor(pluginList[i])) {
-			pluginList[i].setEnabled(false);
-			String id, name;
-			if ((id = pluginList[i].getId()) != null)
-				error (Policy.bind("parse.pluginMissingAttr", id)); //$NON-NLS-1$
-			else if ((name = pluginList[i].getName()) != null)
-				error (Policy.bind("parse.pluginMissingAttr", name)); //$NON-NLS-1$
-			else
-				error (Policy.bind("parse.pluginMissingIdName")); //$NON-NLS-1$
-			continue;
-		}
-		add(pluginList[i]);
-	}
-	// Add all the fragments to their associated plugin.
-	// Note that this will check for all the required fields in
-	// the fragment.
-	linkFragments();
-	// Now we have to cycle through the plugin list again
-	// to assimilate all the fragment information and 
-	// check for 'required' fields.
-	for (int i = 0; i < pluginList.length; i++) {
-		if (pluginList[i].getFragments() != null) {
-			// Take all the information in each fragment and
-			// embed it in the plugin descriptor
-			resolvePluginFragments(pluginList[i]);
-		}
-	}
-	
-	// resolve root descriptors
-	List roots = resolveRootDescriptors();
-	
-	if (roots.size() == 0) {
-		// No roots, likely due to a circular dependency
-		// (or multiple circular dependencies).  Disable
-		// all plugins before returning.  Remember to trim
-		// the registry if needed.
-		PluginDescriptorModel[] plugins = reg.getPlugins();
-		for (int i = 0; i < plugins.length; i++) {
-			plugins[i].setEnabled (false);
-		}
-		resolvePluginRegistry();
-		idmap = null;
-		reg = null;
-		error(Policy.bind("plugin.unableToResolve")); //$NON-NLS-1$
-		return;
-	}
-	
-	// roots is a list of those plugin ids that are not a
-	// prerequisite for any other plugin.  Note that roots
-	// contains ids only.
-	
-	// process all root nodes (first those previously on roots list, then those on the orphans set) 
-	// The orphans of an iteration will become the roots of the next one.	
-	for (Set orphans, rootsSet = new HashSet(roots); !rootsSet.isEmpty(); rootsSet = orphans) {
-		orphans = new HashSet();
-		// walk the dependencies and setup constraints	
-		for (Iterator rootsIter = rootsSet.iterator(); rootsIter.hasNext();) {
-			String rootID = (String) rootsIter.next();
-			resolveNode(rootID, null, null, null, orphans);
-			// At this point we have set up all the Constraint and
-			// ConstraintsEntry components.  But we may not have found which
-			// plugin is the best match for a given set of constraints.
-		}
-		// build the roots set for the next iteration
-		for (Iterator orphansIter = orphans.iterator(); orphansIter.hasNext();) {
-			IndexEntry orphan = (IndexEntry) idmap.get(orphansIter.next());
-			// only after a complete iteration over the roots set we can decide if 
-			// a potential orphan is a real orphan
-			// Now we need to resolve for these new roots (they may
-			// not have been resolved before, especially if the parent
-			// was looking for an older version and not the latest
-			// version which is what we pick up for the roots).					
-			if (orphan.isRoot()) {
-				if (DEBUG_RESOLVE)
-					debug("orphan " + orphan.getId()); //$NON-NLS-1$				
-				roots.add(orphan.getId());
-			} else
-				orphansIter.remove();
-		}
-	}
-
-	// resolve dependencies
-	Iterator plugins = idmap.entrySet().iterator();
-	while (plugins.hasNext()) {
-		IndexEntry ix = (IndexEntry) ((Map.Entry) plugins.next()).getValue();
-		// Now go off and find the plugin that matches the
-		// constraints.  Note that root plugins will always use the 
-		// latest version.
-		ix.resolveDependencies(roots);
-	}
-
-	// walk down the registry structure and resolve links
-	// between extensions and extension points
-	resolvePluginRegistry();
-	
-	// unhook registry and index
-	idmap = null;
-	reg = null;
-}
-public IStatus resolve(PluginRegistryModel registry) {
-	// This is the entry point to the registry resolver.
-	// Calling this method, with a valid registry will 
-	// cause this registry to be 'resolved'.
-	
-	status = new MultiStatus(Platform.PI_RUNTIME, IStatus.OK, "", null); //$NON-NLS-1$
-
-	if (registry.isResolved())
-		// don't bother doing anything if it's already resolved
-		return status;
-
-	reg = registry;
-	resolve();
-	registry.markResolved();
-	return status;
-}
-private void resolveExtension(ExtensionModel ext) {
-
-	String target = ext.getExtensionPoint();
-	int ix = target.lastIndexOf("."); //$NON-NLS-1$
-	String pluginId = target.substring(0, ix);
-	String extPtId = target.substring(ix + 1);
-	String message;
-
-	PluginDescriptorModel plugin = (PluginDescriptorModel) reg.getPlugin(pluginId);
-	if (plugin == null) {
-		message = Policy.bind("parse.extPointUnknown", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
-		error(message);
-		return;
-	}
-	if (!plugin.getEnabled()) {
-		message = Policy.bind("parse.extPointDisabled", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
-		error(message);
-		return;
-	}
-
-	ExtensionPointModel extPt = (ExtensionPointModel) getExtensionPoint(plugin, extPtId);
-	if (extPt == null) {
-		message = Policy.bind("parse.extPointUnknown", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
-		error(message);
-		return;
-	}
-
-	ExtensionModel[] oldValues = extPt.getDeclaredExtensions();
-	ExtensionModel[] newValues = null;
-	if (oldValues == null)
-		newValues = new ExtensionModel[1];
-	else {
-		newValues = new ExtensionModel[oldValues.length + 1];
-		System.arraycopy(oldValues, 0, newValues, 0, oldValues.length);
-	}
-	newValues[newValues.length - 1] = ext;
-	extPt.setDeclaredExtensions(newValues);
-}
-private void resolveFragments() {
-	PluginFragmentModel[] fragments = reg.getFragments();
-	HashSet seen = new HashSet(5);
-	for (int i = 0; i < fragments.length; i++) {
-		PluginFragmentModel fragment = fragments[i];
-		if (!requiredFragment(fragment))
-			continue;
-		if (seen.contains(fragment.getId()))
-			continue;
-		seen.add(fragment.getId());
-		PluginDescriptorModel plugin = reg.getPlugin(fragment.getPluginId(), fragment.getPluginVersion());
-		if (plugin == null)
-			// XXX log something here?
-			continue;
-		resolvePluginFragments(plugin);
-	}
-}
-private Cookie resolveNode(String child, PluginDescriptorModel parent, PluginPrerequisiteModel prq, Cookie cookie, Set orphans) {
-	// This method is called recursively to setup dependency constraints.
-	// Top invocation is passed null parent and null prerequisite.
-	// We are trying to resolve for the plugin descriptor with id 'child'.
-
-	if (DEBUG_RESOLVE)
-		debug("PUSH> " + child); //$NON-NLS-1$
-
-	if (cookie == null)
-		cookie = new Cookie();
-
-	// lookup child entry
-	IndexEntry ix = (IndexEntry) idmap.get(child);
-	// We should now have the IndexEntry for the plugin we 
-	// wish to resolve
-	if (ix == null) {
-		// If this is an optional prerequisite and not a root
-		// node, we can just ignore this prerequisite if there
-		// is no IndexEntry (as there is no corresponding plugin)
-		// and continue processing.
-		if (prq.getOptional() && parent != null && child != null)
-			return cookie;
-		if (parent != null)
-			error(Policy.bind("parse.prereqDisabled", new String[] { parent.getId(), child })); //$NON-NLS-1$
-		if (DEBUG_RESOLVE)
-			debug("<POP  " + child + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
-		cookie.isOk(false);
-		return cookie;
-	}
-
-	// try to add new dependency constraint
-	Constraint currentConstraint = new Constraint(parent, prq);
-	// A constraint will be added for each parent which requires us.
-	PluginDescriptorModel childPd = null;
-	if (parent != null) {
-		childPd = ix.addConstraint(currentConstraint);
-		if (childPd == null) {
-			if (prq.getOptional()) {
-				// This is an optional prerequisite.  Ignore the conflict and this
-				// prerequisite.
-				orphans.add(ix.getId());
-				information (Policy.bind("parse.unsatisfiedOptPrereq", parent.getId(), child)); //$NON-NLS-1$
-				return cookie;
-			} else {
-				// This prerequisite is mandatory.  
-				String message = Policy.bind("parse.unsatisfiedPrereq", parent.getId(), child); //$NON-NLS-1$
-				error(message);
-				if (DEBUG_RESOLVE)
-					debug("<POP  " + child + " unable to satisfy constraint"); //$NON-NLS-1$ //$NON-NLS-2$
-				cookie.isOk(false);
-				return cookie;
-			}
-		} else
-			if (!cookie.addChange(currentConstraint)) {
-				if (prq.getOptional()) {
-					// This is an optional prerequisite.  Ignore the loop, and the
-					// prerequisite
-					information (Policy.bind("parse.prereqOptLoop", parent.getId(), child)); //$NON-NLS-1$
-					return cookie;
-				} else {
-					String message = Policy.bind("parse.prereqLoop", parent.getId(), child); //$NON-NLS-1$
-					error(message);
-					if (DEBUG_RESOLVE)
-						debug("<POP  " + child + " prerequisite loop"); //$NON-NLS-1$ //$NON-NLS-2$
-					cookie.isOk(false);
-					return cookie;
-				}
-			}
-	} else {
-		// This is a root node.  There is no prerequisite so this IndexEntry must
-		// exist
-		childPd = ix.getMatchingDescriptorFor(currentConstraint);
-		if (childPd == null) {
-			if (DEBUG_RESOLVE)
-				debug("<POP  " + child + " not found (missing descriptor entry)"); //$NON-NLS-1$ //$NON-NLS-2$
-			cookie.isOk(false);
-			return cookie;
-		}
-	}
-
-	// check to see if subtree is already resolved
-	if (ix.isResolvedFor(currentConstraint)) {
-		if (DEBUG_RESOLVE)
-			debug("<POP  " + child + " already resolved"); //$NON-NLS-1$ //$NON-NLS-2$
-		return cookie;
-	}
-
-	// select the subtree to resolve
-	PluginPrerequisiteModel[] prereqs = childPd.getRequires();
-	PluginPrerequisiteModel prereq;
-	prereqs = prereqs == null ? new PluginPrerequisiteModel[0] : prereqs;
-	for (int i = 0; cookie.isOk() && i < prereqs.length; i++) {
-		prereq = (PluginPrerequisiteModel) prereqs[i];
-		cookie = resolveNode(prereq.getPlugin(), childPd, prereq, cookie, orphans);
-	}
-
-	// if we failed, remove any constraints we added
-	if (!cookie.isOk()) {
-		Constraint cookieConstraint;
-		for (Iterator change = cookie.getChanges().iterator(); change.hasNext();) {
-			cookieConstraint = (Constraint) change.next();
-			prereq = cookieConstraint.getPrerequisite();
-			if (childPd == cookieConstraint.getParent()) {
-				// keep track of orphaned subtrees
-				if (!orphans.contains(prereq.getPlugin()) &&
-				    (idmap.get(prereq.getPlugin()) != null))
-					orphans.add(prereq.getPlugin());
-			}
-			removeConstraintFor(prereq);
-		}
-		// Make sure you picked up all the orphaned subtrees
-		// for this childPd
-		for (int i = 0; i < prereqs.length; i++) {
-			if (!orphans.contains(prereqs[i].getPlugin()) &&
-				(idmap.get(prereqs[i].getPlugin()) != null))
-				orphans.add(prereqs[i].getPlugin());
-		}
-		if (parent != null)
-			error(Policy.bind("parse.prereqDisabled", parent.getId(), child)); //$NON-NLS-1$
-		childPd.setEnabled(false);
-		if (DEBUG_RESOLVE)
-			debug("<POP  " + child + " failed to resolve subtree"); //$NON-NLS-1$ //$NON-NLS-2$
-		return cookie;
-	} else {
-		// we're done
-		ix.isResolvedFor(currentConstraint, true);
-		if (DEBUG_RESOLVE)
-			debug("<POP  " + child + " " + getVersionIdentifier(childPd)); //$NON-NLS-1$ //$NON-NLS-2$
-		return cookie;
-	}
-}
-private void resolvePluginDescriptor(PluginDescriptorModel pd) {
-	ExtensionModel[] list = pd.getDeclaredExtensions();
-	if (list == null || list.length == 0 || !pd.getEnabled())
-		// Can be disabled if all required attributes not present
-		return;
-	for (int i = 0; i < list.length; i++)
-		resolveExtension((ExtensionModel) list[i]);
-}
-private void resolvePluginFragment(PluginFragmentModel fragment, PluginDescriptorModel plugin) {
-	ExtensionModel[] extensions = fragment.getDeclaredExtensions();
-	if (extensions != null)
-		// Add all the fragment extensions to the plugin
-		addExtensions(extensions, plugin);
-
-	ExtensionPointModel[] points = fragment.getDeclaredExtensionPoints();
-	if (points != null)
-		// Add all the fragment extension points to the plugin
-		addExtensionPoints(points, plugin);
-
-	LibraryModel[] libraries = fragment.getRuntime();
-	if (libraries != null)
-		// Add all the fragment library entries to the plugin
-		addLibraries(libraries, plugin);
-			
-	PluginPrerequisiteModel[] prerequisites = fragment.getRequires();
-	if (prerequisites != null)
-		// Add all the fragment prerequisites to the plugin
-		addPrerequisites(prerequisites, plugin);
-}
-private void resolvePluginFragments(PluginDescriptorModel plugin) {
-	/* For each fragment contained in the fragment list of this plugin, 
-	 * apply all the fragment bits to the plugin (e.g. all of the fragment's
-	 * extensions are added to the list of extensions in the plugin).  Be
-	 * sure to use only the latest version of any given fragment (in case
-	 * there are multiple versions of a given fragment id).  So note that,
-	 * if there are multiple versions of a given fragment id, all but the
-	 * latest version will be discarded.
-	 */
-
-	// The boolean 'dirty' will remain false if there is only one
-	// version of every fragment id associated with this plugin
-	boolean dirty = false;
-	
-	PluginFragmentModel[] fragmentList = plugin.getFragments();
-	HashMap latestFragments = new HashMap(30);
-	for (int i = 0; i < fragmentList.length; i++) {
-		String fragmentId = fragmentList[i].getId();
-		PluginFragmentModel  latestVersion = (PluginFragmentModel)latestFragments.get(fragmentId);
-		if (latestVersion == null) {
-			// We don't have any fragments with this id yet
-			latestFragments.put(fragmentId, fragmentList[i]);
-		} else {
-			dirty = true;
-			if (getVersionIdentifier(fragmentList[i]).equals(getVersionIdentifier(latestVersion)))
-				// ignore duplicates
-				error (Policy.bind("parse.duplicateFragment", fragmentId, fragmentList[i].getVersion())); //$NON-NLS-1$
-			if (getVersionIdentifier(fragmentList[i]).isGreaterThan(getVersionIdentifier(latestVersion))) {
-				latestFragments.put(fragmentId, fragmentList[i]);
-			}
-		}
-	}
-	
-	// latestFragments now contains the latest version of each fragment
-	// id for this plugin
-	
-	// Now add the latest version of each fragment to the plugin
-	Set latestOnly = new HashSet();
-	for (Iterator list = latestFragments.values().iterator(); list.hasNext();) {
-		PluginFragmentModel latestFragment = (PluginFragmentModel)list.next();
-		if (dirty)
-			latestOnly.add(latestFragment);
-		resolvePluginFragment(latestFragment, plugin);
-	}
-	// Currently the fragments on the plugin include all fragment 
-	// versions.  Now strip off all but the latest version of each
-	// fragment id (only if necessary).
-	if (dirty)
-		plugin.setFragments((PluginFragmentModel[]) latestOnly.toArray(new PluginFragmentModel[latestOnly.size()]));
-	
-}
-private void resolvePluginRegistry() {
-	// filter out disabled plugins from "live" registry
-	if (trimPlugins)
-		trimRegistry();
-
-	// resolve relationships
-	if (crossLink) {
-		// cross link all of the extensions and extension points.
-		PluginDescriptorModel[] plugins = reg.getPlugins();
-		for (int i = 0; i < plugins.length; i++)
-			resolvePluginDescriptor(plugins[i]);
-	}
-}
-private boolean requiredPluginDescriptor(PluginDescriptorModel plugin) {
-	boolean retValue = true;
-	retValue = plugin.getName() != null &&
-		plugin.getId() != null &&
-		plugin.getVersion() != null;
-	if (!retValue) 
-		return retValue;
-		
-	PluginPrerequisiteModel[] requiresList = plugin.getRequires();
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
-	LibraryModel[] libraryList = plugin.getRuntime();
-	PluginFragmentModel[] fragments = plugin.getFragments();
-	
-	if (requiresList != null) {
-		for (int i = 0; i < requiresList.length && retValue; i++) {
-			retValue = retValue && requiredPrerequisite(requiresList[i]);
-		}
-	}
-	if (extensions != null) {
-		for (int i = 0; i < extensions.length && retValue; i++) {
-			retValue = retValue && requiredExtension(extensions[i]);
-		}
-	}
-	if (extensionPoints != null) {
-		for (int i = 0; i < extensionPoints.length && retValue; i++) {
-			retValue = retValue && requiredExtensionPoint(extensionPoints[i]);
-		}
-	}
-	if (libraryList != null) {
-		for (int i = 0; i < libraryList.length && retValue; i++) {
-			retValue = retValue && requiredLibrary(libraryList[i]);
-		}
-	}
-	if (fragments != null) {
-		for (int i = 0; i < fragments.length && retValue; i++) {
-			retValue = retValue && requiredFragment(fragments[i]);
-		}
-	}
-	
-	return retValue;
-}
-private boolean requiredPrerequisite (PluginPrerequisiteModel prerequisite) {
-	return ((prerequisite.getPlugin() != null));
-}
-private boolean requiredExtension (ExtensionModel extension) {
-	return (extension.getExtensionPoint() != null);
-}
-private boolean requiredExtensionPoint (ExtensionPointModel extensionPoint) {
-	return ((extensionPoint.getName() != null) &&
-		(extensionPoint.getId() != null));
-}
-private boolean requiredLibrary (LibraryModel library) {
-	return (library.getName() != null);
-}
-private boolean requiredFragment (PluginFragmentModel fragment) {
-	return ((fragment.getName() != null) &&
-		(fragment.getId() != null) &&
-		(fragment.getPlugin() != null) &&
-		(fragment.getPluginVersion() != null) &&
-		(fragment.getVersion() != null));
-}
-private List resolveRootDescriptors() {
-
-	// Determine the roots of the dependency tree. Disable all
-	// but one versions of the root descriptors.
-
-	// get list of all plugin identifiers in the registry
-	List ids = new ArrayList();
-	ids.addAll(idmap.keySet());
-	
-	// ids is just a list of all the plugin id's
-	// The following while loop will remove all id's that
-	// appear in any prerequisite list.
-
-	// iterate over the list eliminating targets of <requires> entries
-	Iterator p = idmap.entrySet().iterator();
-	while (p.hasNext()) {
-		IndexEntry ix = (IndexEntry) ((Map.Entry) p.next()).getValue();
-		if (ix != null) {
-			List list = ix.versions();
-			int ixSize = list.size();
-			if (ixSize > 0) {
-				// Remove any prerequisite mentioned in any version of this plugin
-				for (int i = 0; i < ixSize; i++) {
-					PluginDescriptorModel pd = (PluginDescriptorModel) list.get(i);
-					PluginPrerequisiteModel[] prereqs = pd.getRequires();
-					for (int j = 0; prereqs != null && j < prereqs.length; j++) {
-						ids.remove(prereqs[j].getPlugin());
-					}
-				}
-			}
-		}
-	}
-
-	if (ids.size() > 0) {
-		// disable all but the most recent version of root descriptors
-		String id;
-		p = ids.iterator();
-		while (p.hasNext()) {
-			id = (String) p.next();
-			IndexEntry ix = (IndexEntry) idmap.get(id);
-			if (ix != null) {
-				List list = ix.versions();
-				for (int i = 0; i < list.size(); i++) {
-					PluginDescriptorModel pd = (PluginDescriptorModel) list.get(i);
-					if (i == 0) {
-						// Don't disable this one.  It is the
-						// one with the highest version number.
-						if (DEBUG_RESOLVE)
-							debug("root " + pd); //$NON-NLS-1$
-					} else {
-						// Disable all versions except the one with the
-						// highest version number.
-						if (DEBUG_RESOLVE)
-							debug("     " + pd + " disabled"); //$NON-NLS-1$ //$NON-NLS-2$
-						pd.setEnabled(false);
-					}
-				}
-			}
-		}
-	} else {
-		if (DEBUG_RESOLVE)
-			debug("NO ROOTS"); //$NON-NLS-1$
-	}
-
-	return ids;
-}
-/**
- * Specifies whether extensions and extension points should be cross 
- * linked during the resolve process.
- */
-public void setCrossLink(boolean value) {
-	crossLink = value;
-}
-/**
- * Specified whether disabled plugins should to be removed when the resolve
- * is completed.
- */
-public void setTrimPlugins(boolean value) {
-	trimPlugins = value;
-}
-private void trimRegistry() {
-	PluginDescriptorModel[] list = reg.getPlugins();
-	for (int i = 0; i < list.length; i++) {
-		PluginDescriptorModel pd = (PluginDescriptorModel) list[i];
-		if (!pd.getEnabled()) {
-			if (DEBUG_RESOLVE)
-				debug("removing " + pd.toString()); //$NON-NLS-1$
-			reg.removePlugin(pd.getId(), pd.getVersion());
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
deleted file mode 100644
index d713f9e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.model.*;
-import java.io.PrintWriter;
-
-public class RegistryWriter {
-public RegistryWriter() {
-	super();
-}
-public void writeConfigurationElement(ConfigurationElementModel configElement, PrintWriter w, int indent) {
-	String element = configElement.getName();
-	if (element == null)
-		return;
-
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-	String gap2 = gap1;
-	for (int i = 0; i < IModel.INDENT; i++)
-		gap2 += " "; //$NON-NLS-1$
-
-	w.print(gap1 + "<" + element); //$NON-NLS-1$
-	ConfigurationPropertyModel[] propList = configElement.getProperties();
-	int propSize = (propList == null) ? 0 : propList.length;
-	for (int i = 0; i < propSize; i++) 
-		writeConfigurationProperty(propList[i], w, indent + IModel.INDENT);
-
-	ConfigurationElementModel[] subElementList = configElement.getSubElements();
-	int subElementSize = (subElementList == null) ? 0 : subElementList.length;
-	if (configElement.getValue() == null && subElementSize == 0) {
-		w.println("/>"); //$NON-NLS-1$
-		return;
-	}
-	w.println(">"); //$NON-NLS-1$
-
-	if (configElement.getValue() != null)
-		w.println(gap2 + xmlSafe(configElement.getValue()));
-	for (int i = 0; i < subElementSize; i++) 
-		writeConfigurationElement(subElementList[i], w, indent + IModel.INDENT);
-
-	w.println(gap1 + "</" + element + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writeConfigurationProperty(ConfigurationPropertyModel configProp, PrintWriter w, int indent) {
-	if (configProp.getName() == null)
-		return;
-	w.print(" " + xmlSafe(configProp.getName()) + "=\""); //$NON-NLS-1$ //$NON-NLS-2$
-	if (configProp.getValue() != null)
-		w.print(xmlSafe(configProp.getValue()));
-	w.print("\""); //$NON-NLS-1$
-}
-public void writeExtension(ExtensionModel extension, PrintWriter w, int indent) {
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-
-	w.print(gap1 + "<" + IModel.EXTENSION); //$NON-NLS-1$
-	if (extension.getExtensionPoint() != null)
-		w.print(" " + IModel.EXTENSION_TARGET + "=\"" + xmlSafe(extension.getExtensionPoint()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (extension.getId() != null)
-		w.print(" " + IModel.EXTENSION_ID + "=\"" + xmlSafe(extension.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (extension.getName() != null)
-		w.print(" " + IModel.EXTENSION_NAME + "=\"" + xmlSafe(extension.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	ConfigurationElementModel[] subElements = extension.getSubElements();
-	int size = (subElements == null) ? 0 : subElements.length;
-	if (size == 0) {
-		w.println("/>"); //$NON-NLS-1$
-		return;
-	}
-	w.println(">"); //$NON-NLS-1$
-
-	for (int i = 0; i < size; i++) 
-		writeConfigurationElement(subElements[i], w, indent + IModel.INDENT);
-
-	w.println(gap1 + "</" + IModel.EXTENSION + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writeExtensionPoint(ExtensionPointModel extPt, PrintWriter w, int indent) {
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-
-	w.print(gap1 + "<" + IModel.EXTENSION_POINT); //$NON-NLS-1$
-	if (extPt.getId() != null)
-		w.print(" " + IModel.EXTENSION_POINT_ID + "=\"" + xmlSafe(extPt.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (extPt.getName() != null)
-		w.print(" " + IModel.EXTENSION_POINT_NAME + "=\"" + xmlSafe(extPt.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (extPt.getSchema() != null)
-		w.print(" " + IModel.EXTENSION_POINT_SCHEMA + "=\"" + xmlSafe(extPt.getSchema()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	w.println("/>"); //$NON-NLS-1$
-}
-public void writeLibrary(LibraryModel library, PrintWriter w, int indent) {
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-	String gap2 = gap1;
-	for (int i = 0; i < IModel.INDENT; i++)
-		gap2 += " "; //$NON-NLS-1$
-
-	w.print(gap1 + "<" + IModel.LIBRARY); //$NON-NLS-1$
-	if (library.getName() != null)
-		w.print(" " + IModel.LIBRARY_NAME + "=\"" + xmlSafe(library.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (library.getType() != null)
-		w.print(" " + IModel.LIBRARY_TYPE + "=\"" + xmlSafe(library.getType()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (!library.isExported())
-		w.println("/>"); //$NON-NLS-1$
-	else {
-		w.println(">"); //$NON-NLS-1$
-		String[] exports = library.getExports();
-		int size = (exports == null) ? 0 : exports.length;
-		for (int i = 0; i < size; i++)
-			w.println(gap2 + "<" + IModel.LIBRARY_EXPORT + " " + IModel.LIBRARY_EXPORT_MASK + "=\"" + xmlSafe(exports[i]) + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		w.println(gap1 + "</" + IModel.LIBRARY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
-public void writePluginDescriptor(PluginDescriptorModel plugin, PrintWriter w, int indent) {
-
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-	String gap2 = gap1;
-	for (int i = 0; i < IModel.INDENT; i++)
-		gap2 += " "; //$NON-NLS-1$
-
-	w.println(""); //$NON-NLS-1$
-	w.print(gap1 + "<" + IModel.PLUGIN); //$NON-NLS-1$
-	if (plugin.getId() != null)
-		w.print(" " + IModel.PLUGIN_ID + "=\"" + xmlSafe(plugin.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (plugin.getName() != null)
-		w.print(" " + IModel.PLUGIN_NAME + "=\"" + xmlSafe(plugin.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (plugin.getProviderName() != null)
-		w.print(" " + IModel.PLUGIN_PROVIDER + "=\"" + xmlSafe(plugin.getProviderName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (plugin.getVersion() != null)
-		w.print(" " + IModel.PLUGIN_VERSION + "=\"" + xmlSafe(plugin.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (plugin.getPluginClass() != null)
-		w.print(" " + IModel.PLUGIN_CLASS + "=\"" + xmlSafe(plugin.getPluginClass()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	w.println(">"); //$NON-NLS-1$
-
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	int reqSize = (requires == null) ? 0 : requires.length;
-	if (reqSize != 0) {
-		w.print(gap2 + "<" + IModel.PLUGIN_REQUIRES); //$NON-NLS-1$
-		w.println(">"); //$NON-NLS-1$
-		for (int i = 0; i < reqSize; i++) 
-			writePluginPrerequisite(requires[i], w, indent + 2 * IModel.INDENT);
-		w.println(gap2 + "</" + IModel.PLUGIN_REQUIRES + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	LibraryModel[] runtime = plugin.getRuntime();
-	int runtimeSize = (runtime == null) ? 0 : runtime.length;
-	if (runtimeSize != 0) {
-		w.println(gap2 + "<" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		for (int i = 0; i < runtimeSize; i++) {
-			writeLibrary(runtime[i], w, indent + 2 * IModel.INDENT);
-		}
-		w.println(gap2 + "</" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
-	int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
-	if (extPointsSize != 0) {
-		w.println(""); //$NON-NLS-1$
-		for (int i = 0; i < extPointsSize; i++)
-			writeExtensionPoint(extensionPoints[i], w, indent + IModel.INDENT);
-	}
-
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	int extSize = (extensions == null) ? 0 : extensions.length;
-	if (extSize != 0) {
-		for (int i = 0; i < extSize; i++) {
-			w.println(""); //$NON-NLS-1$
-			writeExtension(extensions[i], w, indent + IModel.INDENT);
-		}
-	}
-	
-	// Don't write fragments here.  If we do, XML won't be
-	// able to parse what we write out.  Fragments must be
-	// entities separate from plugins.
-	w.println(gap1 + "</" + IModel.PLUGIN + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writePluginFragment(PluginFragmentModel fragment, PrintWriter w, int indent) {
-
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-	String gap2 = gap1;
-	for (int i = 0; i < IModel.INDENT; i++)
-		gap2 += " "; //$NON-NLS-1$
-
-	w.println(""); //$NON-NLS-1$
-	w.print(gap1 + "<" + IModel.FRAGMENT); //$NON-NLS-1$
-	if (fragment.getId() != null)
-		w.print(" " + IModel.FRAGMENT_ID + "=\"" + xmlSafe(fragment.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getName() != null)
-		w.print(" " + IModel.FRAGMENT_NAME + "=\"" + xmlSafe(fragment.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getProviderName() != null)
-		w.print(" " + IModel.FRAGMENT_PROVIDER + "=\"" + xmlSafe(fragment.getProviderName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getVersion() != null)
-		w.print(" " + IModel.FRAGMENT_VERSION + "=\"" + xmlSafe(fragment.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getPluginId() != null)
-		w.print(" " + IModel.FRAGMENT_PLUGIN_ID + "=\"" + xmlSafe(fragment.getPluginId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getPluginVersion() != null)
-		w.print(" " + IModel.FRAGMENT_PLUGIN_VERSION + "=\"" + xmlSafe(fragment.getPluginVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (fragment.getMatch() != PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED) {
-		switch (fragment.getMatch()) {
-			case PluginFragmentModel.FRAGMENT_MATCH_PERFECT:
-				w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_PERFECT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				break;
-			case PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT:
-				w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_EQUIVALENT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				break;
-			case PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE:
-				w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_COMPATIBLE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				break;
-			case PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL:
-				w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				break;
-		}
-	}
-	
-	w.println(">"); //$NON-NLS-1$
-
-	PluginPrerequisiteModel[] requires = fragment.getRequires();
-	int reqSize = (requires == null) ? 0 : requires.length;
-	if (reqSize != 0) {
-		w.print(gap2 + "<" + IModel.PLUGIN_REQUIRES); //$NON-NLS-1$
-		w.println(">"); //$NON-NLS-1$
-		for (int i = 0; i < reqSize; i++) 
-			writePluginPrerequisite(requires[i], w, indent + 2 * IModel.INDENT);
-		w.println(gap2 + "</" + IModel.PLUGIN_REQUIRES + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	LibraryModel[] runtime = fragment.getRuntime();
-	int runtimeSize = (runtime == null) ? 0 : runtime.length;
-	if (runtimeSize != 0) {
-		w.println(gap2 + "<" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		for (int i = 0; i < runtimeSize; i++) {
-			writeLibrary(runtime[i], w, indent + 2 * IModel.INDENT);
-		}
-		w.println(gap2 + "</" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	ExtensionPointModel[] extensionPoints = fragment.getDeclaredExtensionPoints();
-	int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
-	if (extPointsSize != 0) {
-		w.println(""); //$NON-NLS-1$
-		for (int i = 0; i < extPointsSize; i++)
-			writeExtensionPoint(extensionPoints[i], w, indent + IModel.INDENT);
-	}
-
-	ExtensionModel[] extensions = fragment.getDeclaredExtensions();
-	int extSize = (extensions == null) ? 0 : extensions.length;
-	if (extSize != 0) {
-		for (int i = 0; i < extSize; i++) {
-			w.println(""); //$NON-NLS-1$
-			writeExtension(extensions[i], w, indent + IModel.INDENT);
-		}
-	}
-
-	w.println(gap1 + "</" + IModel.FRAGMENT + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writePluginPrerequisite(PluginPrerequisiteModel req, PrintWriter w, int indent) {
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-
-	w.print(gap1 + "<" + IModel.PLUGIN_REQUIRES_IMPORT); //$NON-NLS-1$
-	if (req.getPlugin() != null)
-		w.print(" " + IModel.PLUGIN_REQUIRES_PLUGIN + "=\"" + xmlSafe(req.getPlugin()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (req.getVersion() != null)
-		w.print(" " + IModel.PLUGIN_REQUIRES_PLUGIN_VERSION + "=\"" + xmlSafe(req.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (req.getExport())
-		w.print(" " + IModel.PLUGIN_REQUIRES_EXPORT + "=\"" + IModel.TRUE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	if (req.getOptional())
-		w.print(" " + IModel.PLUGIN_REQUIRES_OPTIONAL + "=\"" + IModel.TRUE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	switch (req.getMatchByte()) {
-		case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
-			w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_PERFECT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			break;
-		case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
-			w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_EQUIVALENT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			break;
-		case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
-			w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_COMPATIBLE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			break;
-		case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
-			w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			break;
-	}
-	w.println("/>"); //$NON-NLS-1$
-}
-public void writePluginRegistry(PluginRegistryModel registry, PrintWriter w, int indent) {
-	String gap1 = ""; //$NON-NLS-1$
-	for (int i = 0; i < indent; i++)
-		gap1 += " "; //$NON-NLS-1$
-	w.println(gap1 + "<" + IModel.REGISTRY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	for (int i = 0; i < pluginList.length; i++)
-		writePluginDescriptor(pluginList[i], w, indent + IModel.INDENT);
-	
-	PluginFragmentModel[] fragmentList = registry.getFragments();
-	for (int i = 0; i < fragmentList.length; i++)
-		writePluginFragment(fragmentList[i], w, indent + IModel.INDENT);
-
-	w.println(gap1 + "</" + IModel.REGISTRY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-
-}
-private static void appendEscapedChar(StringBuffer buffer, char c) {
-	String replacement = getReplacement(c);
-	if (replacement != null) {
-		buffer.append('&');
-		buffer.append(replacement);
-		buffer.append(';');
-	} else {
-		if ((c >= ' ' && c <= 0x7E) || c == '\n' || c == '\r' || c == '\t') {
-			buffer.append(c);
-		} else {
-			buffer.append("&#"); //$NON-NLS-1$
-			buffer.append(Integer.toString(c));
-			buffer.append(';');
-		}
-	}
-}
-public static String xmlSafe(String s) {
-	StringBuffer result = new StringBuffer(s.length() + 10);
-	for (int i = 0; i < s.length(); ++i)
-		appendEscapedChar(result, s.charAt(i));
-	return result.toString();
-}
-private static String getReplacement(char c) {
-	// Encode special XML characters into the equivalent character references.
-	// These five are defined by default for all XML documents.
-	switch (c) {
-		case '<' :
-			return "lt"; //$NON-NLS-1$
-		case '>' :
-			return "gt"; //$NON-NLS-1$
-		case '"' :
-			return "quot"; //$NON-NLS-1$
-		case '\'' :
-			return "apos"; //$NON-NLS-1$
-		case '&' :
-			return "amp"; //$NON-NLS-1$
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
deleted file mode 100644
index 6a2b783..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IAdapterManager;
-
-/**
- * This class is a default implementation of <code>IAdapterManager</code>.
- * It provides fast lookup of property values with the following semantics:
- * <ul>
- * <li> At most one adapter will be invoked per property lookup
- * <li> If multiple installed adapters provide the same property, only 
- *		the first found in the search order is said to <i>define</i> the property 
- *		as it is the only adapter which will be invoked..
- * <li> The search order from a class with the definition<br>
- *			<code>class X extends Y implements A, B</code><br>
- *		is as follows:
- * 		<il>
- *			<li>the target's class: X
- *			<li>X's superclasses in order to <code>Object</code>
- *			<li>a depth-first traversal of the target class's interaces in the order 
- *				returned by <code>getInterfaces</code> (in the example, A and 
- *				its superinterfaces then B and its superinterfaces)
- *		</il>
- * </ul>
- *
- * @see IAdapter
- * @see IAdapterManager
- */
-public final class AdapterManager implements IAdapterManager {
-
-	/** Table of factories, keyed by <code>Class</code>. */
-	protected Hashtable factories;
-
-	/** Cache of adapter search paths; <code>null</code> if none. */
-	protected Hashtable lookup;
-/** Constructs a new extender manager.
- */
-public AdapterManager() {
-	factories = new Hashtable(5);
-	lookup = null;
-}
-/**
- * Given a list of types, add all of the property entries for the installed
- * extenders into the lookupTable.  Each entry will be keyed by the property
- * identifier (supplied in IExtender.getPropertyList) and the extender
- * supplying that property.
- */
-private void addFactoriesFor(Vector types, Hashtable lookupTable) {
-	for (Enumeration classes = types.elements(); classes.hasMoreElements();) {
-		Class clazz = (Class) classes.nextElement();
-		Vector factoryList = (Vector) factories.get(clazz);
-		if (factoryList == null)
-			continue;
-		for (Enumeration list = factoryList.elements(); list.hasMoreElements();) {
-			IAdapterFactory factory = (IAdapterFactory) list.nextElement();
-			Object[] adapters = factory.getAdapterList();
-			for (int i = 0; i < adapters.length; i++) {
-				Object adapter = adapters[i];
-				if (lookupTable.get(adapter) == null)
-					lookupTable.put(adapter, factory);
-			}
-		}
-	}
-}
-/**
- * Returns the class search order starting with <code>extensibleClass</code>.
- * The search order is defined in this class' comment.
- */
-private Vector computeClassOrder(Class extensibleClass) {
-	Vector result = new Vector(4);
-	Class clazz = extensibleClass;
-	while (clazz != null) {
-		result.addElement(clazz);
-		clazz = clazz.getSuperclass();
-	}
-	return result;
-}
-/**
- * Returns the interface search order for the class hierarchy described
- * by <code>classList</code>.
- * The search order is defined in this class' comment.
- */
-private Vector computeInterfaceOrder(Vector classList) {
-	Vector result = new Vector(4);
-	Hashtable seen = new Hashtable(4);
-	for (Enumeration list = classList.elements(); list.hasMoreElements();) {
-		Class[] interfaces = ((Class) list.nextElement()).getInterfaces();
-		internalComputeInterfaceOrder(interfaces, result, seen);
-	}
-	return result;
-}
-/**
- * Flushes the cache of extender search paths.  This is generally required
- * whenever an extender is added or removed.  
- * <p>
- * It is likely easier to just toss the whole cache rather than trying to be
- * smart and remove only those entries affected.
- * </p>
- */
-public void flushLookup() {
-	lookup = null;
-}
-/*
- * @see IAdapterManager#getAdapter
- */
-public Object getAdapter(Object object, Class target) {
-	IAdapterFactory factory = getFactory(object.getClass(), target);
-	Object result = null;
-	if (factory != null)
-		result = factory.getAdapter(object, target);
-	if (result == null && target.isInstance(object))
-		return object;
-	return result;
-}
-/**
- * Gets the extender installed for objects of class <code>extensibleClass</code>
- * which defines the property identified by <code>key</code>.  If no such
- * extender exists, returns null.
- */
-private IAdapterFactory getFactory(Class extensibleClass, Class adapter) {
-	Hashtable table;
-	// check the cache first.
-	if (lookup != null) {
-		table = (Hashtable) lookup.get(extensibleClass);
-		if (table != null)
-			return (IAdapterFactory) table.get(adapter);
-	}
-	// Its not in the cache so we have to build the extender table for this class.
-	// The table is keyed by property identifier.  The 
-	// value is the <b>sole<b> extender which defines that property.  Note that if
-	// if multiple extenders technically define the same property, only the first found
-	// in the search order is considered.
-	table = new Hashtable(4);
-	// get the list of all superclasses and add the extenders installed for each 
-	// of those classes to the table.  
-	Vector classList = computeClassOrder(extensibleClass);
-	addFactoriesFor(classList, table);
-	// get the ordered set of all interfaces for the extensible class and its 
-	// superclasses and add the extenders installed for each 
-	// of those interfaces to the table.  
-	classList = computeInterfaceOrder(classList);
-	addFactoriesFor(classList, table);
-	//cache the table and do the lookup again.
-	if (lookup == null)
-		lookup = new Hashtable(5);
-	lookup.put(extensibleClass, table);
-	return (IAdapterFactory) table.get(adapter);
-}
-private void internalComputeInterfaceOrder(Class[] interfaces, Vector result, Hashtable seen) {
-	Vector newInterfaces = new Vector(seen.size());
-	for (int i = 0; i < interfaces.length; i++) {
-		Class interfac = interfaces[i];
-		if (seen.get(interfac) == null) {
-			result.addElement(interfac);
-			seen.put(interfac, interfac);
-			newInterfaces.addElement(interfac);
-		}
-	}
-	for (Enumeration newList = newInterfaces.elements(); newList.hasMoreElements();)
-		internalComputeInterfaceOrder(((Class) newList.nextElement()).getInterfaces(), result, seen);
-}
-/*
- * @see IAdapterManager#registerAdapters
- */
-public void registerAdapters(IAdapterFactory factory, Class extensibleType) {
-	Vector list = (Vector) factories.get(extensibleType);
-	if (list == null) {
-		list = new Vector(5);
-		factories.put(extensibleType, list);
-	}
-	list.addElement(factory);
-	flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory) {
-	for (Enumeration enum = factories.elements(); enum.hasMoreElements();) {
-		Vector list = (Vector) enum.nextElement();
-		list.removeElement(factory);
-	}
-	flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory, Class extensibleType) {
-	Vector factoryList = (Vector) factories.get(extensibleType);
-	if (factoryList == null)
-		return;
-	factoryList.removeElement(factory);
-	flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAllAdapters
- */
-public void unregisterAllAdapters() {
-	factories = new Hashtable(5);
-	flushLookup();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
deleted file mode 100644
index 6ed761c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code.
- * The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p>
- */
-public final class Assert {
-/* This class is not intended to be instantiated. */
-private Assert() {
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression) {
-	return isLegal(expression, ""); //$NON-NLS-1$
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression, String message) {
-	if (!expression)
-		throw new IllegalArgumentException(message);
-	return expression;
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * 
- * @param object the value to test
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object) {
-	isNotNull(object, ""); //$NON-NLS-1$
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param object the value to test
- * @param message the message to include in the exception
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object, String message) {
-	if (object == null)
-		throw new AssertionFailedException("null argument:" + message); //$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- */
-public static boolean isTrue(boolean expression) {
-	return isTrue(expression, ""); //$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- */
-public static boolean isTrue(boolean expression, String message) {
-	if (!expression)
-		throw new AssertionFailedException("assertion failed: "+message); //$NON-NLS-1$
-	return expression;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
deleted file mode 100644
index 2e3fe16..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch 
- * or otherwise depend on assertion failures are susceptible to unexpected
- * breakage when assertions in the code are added or removed.
- * </p>
- */
-/* package */
-class AssertionFailedException extends RuntimeException {
-/** Constructs a new exception.
- */
-public AssertionFailedException() {
-}
-/** Constructs a new exception with the given message.
- */
-public AssertionFailedException(String detail) {
-	super(detail);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
deleted file mode 100644
index efd841d..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-/**
- * A database that remembers information, such as usernames and
- * passwords.  The information is stored in memory and can be saved
- * to disk in an encrypted format.  While the API is phrased in terms of
- * URLs, realms and authentication schemes, not all of these must have
- * significant values.  For example, if "realm" is not relevant to a
- * particular application, it can be left blank (though not
- * <code>null</code>).
- */
-public class AuthorizationDatabase {
-	/**
-	 * Version number for the format of the keyring file.
-	 */
-	private static final int KEYRING_FILE_VERSION = 1;
-	/**
-	 * A nested hashtable that stores authorization information. The
-	 * table maps server URLs to realms to authentication schemes to
-	 * authorization information.
-	 */
-	private Hashtable authorizationInfo = new Hashtable(5);
-
-	/**
-	 * A hashtable mapping resource URLs to realms.
-	 */
-	private Hashtable protectionSpace = new Hashtable(5);
-
-	private File file = null;
-	private String password = null;
-	private boolean needsSaving = true;
-/**
- * Creates a new authorization database whose data cannot be saved to
- * disk.
- */
-public AuthorizationDatabase() {
-}
-/**
- * Creates a new authorization database, or opens an existing one, whose
- * data is, or can be, saved to a file with the given filename. A
- * password must be given to create a new database and an existing
- * database is opened by supplying the password that was given to create
- * it.
- *
- * @param filename the location of the database on disk. For example,
- *		"c:/temp/database"
- * @param password the password to access the database. For example,
- *		"secret"
- * @exception Exception if there are problems creating the database.
- *		Reasons include:
- * <ul>
- * <li>The database could not be opened because the wrong password was given.
- * <li>The database could not be opened because the specified file is corrupt.
- * </ul>
- */
-public AuthorizationDatabase(String filename, String password) throws CoreException {
-	Assert.isNotNull(filename);
-	Assert.isNotNull(password);
-	this.password = password;
-	file = new File(filename);
-	load();
-}
-/**
- * Adds the given authorization information to the database. The
- * information is relevant for the specified protection space and the
- * given authorization scheme. The protection space is defined by the
- * combination of the given server URL and realm. The authorization 
- * scheme determines what the authorization information contains and how 
- * it should be used. The authorization information is a <code>Map</code> 
- * of <code>String</code> to <code>String</code> and typically
- * contain information such as usernames and passwords.
- *
- * @param serverUrl the URL identifying the server for this authorization
- *		information. For example, "http://www.hostname.com/".
- * @param realm the subsection of the given server to which this
- *		authorization information applies.  For example,
- *		"realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which this authorization information
- *		applies. For example, "Basic" or "" for no authorization scheme
- * @param info a <code>Map</code> containing authorization information 
- *		such as usernames and passwords
- */
-public void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info){
-	Assert.isNotNull(serverUrl);
-	Assert.isNotNull(realm);
-	Assert.isNotNull(authScheme);
-	Assert.isNotNull(info);
-
-	String url = serverUrl.toString();
-	Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(url);
-	if(realmToAuthScheme == null){
-		realmToAuthScheme = new Hashtable(5);
-		authorizationInfo.put(url, realmToAuthScheme);
-	}
-
-	Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
-	if(authSchemeToInfo == null){
-		authSchemeToInfo = new Hashtable(5);
-		realmToAuthScheme.put(realm, authSchemeToInfo);
-	}
-
-	authSchemeToInfo.put(authScheme.toLowerCase(), info);
-	needsSaving = true;
-}
-/**
- * Adds the specified resource to the protection space specified by the
- * given realm. All resources at or deeper than the depth of the last
- * symbolic element in the path of the given resource URL are assumed to
- * be in the same protection space.
- *
- * @param resourceUrl the URL identifying the resources to be added to
- *		the specified protection space. For example,
- *		"http://www.hostname.com/folder/".
- * @param realm the name of the protection space. For example,
- *		"realm1@hostname.com"
- */
-public void addProtectionSpace(URL resourceUrl, String realm){
-	Assert.isNotNull(resourceUrl);
-	Assert.isNotNull(realm);
-
-	String file = resourceUrl.getFile();
-	if(!file.endsWith("/")){ //$NON-NLS-1$
-		resourceUrl = URLTool.getParent(resourceUrl);
-	}
-
-	String oldRealm = getProtectionSpace(resourceUrl);
-	if(oldRealm != null && oldRealm.equals(realm)){
-		return;
-	}
-
-	String url1 = resourceUrl.toString();
-	Enumeration urls = protectionSpace.keys();
-	while(urls.hasMoreElements()){
-		String url2 = (String)urls.nextElement();
-		if(url1.startsWith(url2) || url2.startsWith(url1)){
-			protectionSpace.remove(url2);
-			break;
-		}
-	}
-
-	protectionSpace.put(url1, realm);
-	needsSaving = true;
-}
-/**
- * Removes the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm.
- *
- * @param serverUrl the URL identifying the server to remove the
- *		authorization information for. For example,
- *		"http://www.hostname.com/".
- * @param realm the subsection of the given server to remove the
- *		authorization information for. For example,
- *		"realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- *		to remove applies. For example, "Basic" or "" for no
- *		authorization scheme.
- */
-public void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
-	Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(serverUrl.toString());
-
-	if(realmToAuthScheme == null){
-		return;
-	}
-
-	Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
-
-	if(authSchemeToInfo == null){
-		return;
-	}
-
-	authSchemeToInfo.remove(authScheme.toLowerCase());
-
-	needsSaving = true;
-}
-/**
- * Returns the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm. Returns <code>null</code> if no
- * such information exists.
- *
- * @param serverUrl the URL identifying the server for the authorization
- *		information. For example, "http://www.hostname.com/".
- * @param realm the subsection of the given server to which the
- *		authorization information applies.  For example,
- *		"realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- *		applies. For example, "Basic" or "" for no authorization scheme
- * @return the authorization information for the specified protection
- *		space and given authorization scheme, or <code>null</code> if no
- *		such information exists
- */
-public Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme){
-	Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(serverUrl.toString());
-	if(realmToAuthScheme == null){
-		return null;
-	}
-
-	Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
-	if(authSchemeToInfo == null){
-		return null;
-	}
-
-	return (Map)authSchemeToInfo.get(authScheme.toLowerCase());
-}
-/**
- * Returns the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown.
- *
- * @param resourceUrl the URL of the resource whose protection space is
- *		returned. For example, "http://www.hostname.com/folder/".
- * @return the protection space (realm) for the specified resource, or
- *		<code>null</code> if the realm is unknown
- */
-public String getProtectionSpace(URL resourceUrl){
-	while(resourceUrl != null){
-		String realm = (String)protectionSpace.get(resourceUrl.toString());
-		if(realm != null){
-			return realm;
-		}
-		resourceUrl = URLTool.getParent(resourceUrl);
-	}
-
-	return null;
-}
-private void load() throws CoreException {
-	if (file == null)
-		return;
-	if (!file.exists()) {
-		save();
-		return;
-	}
-	try {
-		InputStream input = new FileInputStream(file);
-		try {
-			load(input);
-		} finally {
-			input.close();
-		}
-	} catch (IOException e) {
-		throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_READ_METADATA,Policy.bind("meta.unableToReadAuthorization",file.toString()),e)); //$NON-NLS-1$
-	} catch (ClassNotFoundException e) {
-		throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_READ_METADATA,Policy.bind("meta.unableToReadAuthorization",file.toString()),e)); //$NON-NLS-1$
-	}
-}
-private void load(InputStream is) throws IOException, ClassNotFoundException, CoreException {
-	//try to read the file version number. Pre 2.0 versions had no number
-	int version = is.read();
-	if (version == KEYRING_FILE_VERSION) {
-		//read the authorization data
-		CipherInputStream cis = new CipherInputStream(is, password);
-		ObjectInputStream ois = new ObjectInputStream(cis);
-		try {
-			authorizationInfo = (Hashtable) ois.readObject();
-			protectionSpace = (Hashtable) ois.readObject();
-		} finally {
-			ois.close();
-		}
-	} else {
-		//the format has changed, just log a warning
-		InternalPlatform.log(new Status(
-			IStatus.WARNING, 
-			Platform.PI_RUNTIME, 
-			Platform.FAILED_READ_METADATA, 
-			Policy.bind("meta.authFormatChanged"),  //$NON-NLS-1$
-			null));
-		//close the stream and save a new file in the correct format
-		try {
-			is.close();
-		} catch (IOException e) {
-			//ignore failure to close
-		}
-		needsSaving = true;
-		save();
-	}
-}
-/**
- * Saves the authorization database to disk.
- */
-public void save() throws CoreException {
-	if (!needsSaving || file == null)
-		return;
-	try {
-		file.delete();
-		file.createNewFile();
-		FileOutputStream out = new FileOutputStream(file);
-		try {
-			save(out);
-		} finally {
-			out.close();
-		}
-	} catch (IOException e) {
-		throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_WRITE_METADATA,Policy.bind("meta.unableToWriteAuthorization",file.toString()),e)); //$NON-NLS-1$
-	}
-	needsSaving = false;
-}
-private void save(OutputStream os) throws IOException {
-	//write the version number
-	os.write(KEYRING_FILE_VERSION);
-
-	CipherOutputStream cos = new CipherOutputStream(os, password);
-	ObjectOutputStream oos = new ObjectOutputStream(cos);
-	//write the data
-	try {
-		oos.writeObject(authorizationInfo);
-		oos.writeObject(protectionSpace);
-	} finally {
-		oos.close();
-	}
-}
-/**
- * Sets the password to use for accessing this database.  If the database
- * is subsequently saved, this new password is used.
- */
-public boolean setPassword(String oldValue, String newValue) {
-	if (!oldValue.equals(password))
-		return false;
-	password = newValue;
-	needsSaving = true;
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
deleted file mode 100644
index 39db531..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM - Initial implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.util.Random;
-
-/**
- * <P>Encrypts or decrypts a sequence of bytes. The bytes are decrypted
- * by supplying the same password that was given when the bytes were
- * encrypted.
- * <P>Here is an example showing how to encrypt and then decrypt the
- * string "Hello, world!" using the password "music":
- * <pre>
- *     String password = "music";
- *     byte[] data = "Hello, world!".getBytes("UTF8");
- *
- *     // Encrypt
- *     Cipher cipher = new Cipher(ENCRYPT_MODE, password);
- *     byte[] encrypted = cipher.cipher(data);
- *
- *     // Decrypt
- *     cipher = new Cipher(DECRYPT_MODE, password);
- *     byte[] decrypted = cipher.cipher(encrypted);
- * </pre>
- */
-public class Cipher {
-	public static final int DECRYPT_MODE = -1;
-	public static final int ENCRYPT_MODE = 1;
-	private static final int RANDOM_SIZE = 16;
-
-	private int mode = 0;
-	private byte[] password = null;
-	
-	//the following fields are used for generating a secure byte stream
-	//used by the decryption algorithm
-	private byte[] byteStream;
-	private int byteStreamOffset;
-	private MessageDigest digest;
-	private Random random;
-	private final byte[] toDigest;
-/**
- * Initializes the cipher with the given mode and password. This method
- * must be called first (before any encryption of decryption takes
- * place) to specify whether the cipher should be in encrypt or decrypt
- * mode and to set the password.
- *
- * @param mode
- * @param password
- */
-public Cipher (int mode, String passwordString){
-	this.mode = mode;
-	try {
-		this.password = passwordString.getBytes("UTF8");//$NON-NLS-1$
-	} catch (UnsupportedEncodingException e) {
-		this.password = passwordString.getBytes();
-	}
-	toDigest = new byte[password.length+RANDOM_SIZE];
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given data and returns the result.
- *
- * @param data
- * @return     the result of encrypting or decrypting the given data
- */
-public byte[] cipher(byte[] data) throws Exception {
-	return transform(data, 0, data.length, mode);
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given data and returns the result.
- *
- * @param data the byte array containg the given data
- * @param off  the index of the first byte in the given byte array
- *   to be transformed
- * @param len  the number of bytes to be transformed
- * @return the result of encrypting or decrypting the given data
- */
-public byte[] cipher(byte[] data, int off, int len) throws Exception {
-	return transform(data, off, len, mode);
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given byte and returns the result.
- *
- * @param datum the given byte
- * @return      the result of encrypting or decrypting the given byte
- */
-public byte cipher(byte datum) throws Exception {
-	byte[] data = { datum };
-	return cipher(data)[0];
-}
-/**
- * Generates a secure stream of bytes based on the input seed.
- * This routine works by combining the input seed with random bytes
- * generated by a random number generator, and then computing the 
- * SHA-1 hash of those bytes.
- */
-private byte[] generateBytes() throws Exception {
-	if (digest == null) {
-		digest = MessageDigest.getInstance("SHA"); //$NON-NLS-1$
-		//also seed random number generator based on password
-		long seed = 0;
-		for (int i = 0; i < password.length; i++)
-			//this function is known to give good hash distribution for character data
-			seed = (seed * 37) + password[i];
-		random = new Random(seed);
-	}
-	//add random bytes to digest array
-	random.nextBytes(toDigest);
-
-	//overlay password onto digest array
-	System.arraycopy(password, 0, toDigest, 0, password.length);
-
-	//compute and return SHA-1 hash of digest array
-	return digest.digest(toDigest); 
-}
-/**
- * Returns a stream of cryptographically secure bytes of the given length.
- * The result is deterministically based on the input seed (password).
- */
-private byte[] nextRandom(int length) throws Exception {
-	byte[] nextRandom = new byte[length];
-	int nextRandomOffset = 0;
-	while (nextRandomOffset < length) {
-		if (byteStream == null || byteStreamOffset >= byteStream.length) {
-			byteStream = generateBytes();
-			byteStreamOffset = 0;
-		}
-		nextRandom[nextRandomOffset++] = byteStream[byteStreamOffset++];
-	}
-	return nextRandom;
-}
-private byte[] transform(byte[] data, int off, int len, int mode) throws Exception {
-	byte[] result = nextRandom(len);
-	for (int i = 0; i < len; ++i) {
-		result[i] = (byte) (data[i + off] + mode * result[i]);
-	}
-	return result;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
deleted file mode 100644
index ffa8226..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-
-/**
- * Decrypts a stream of data that was encrypted using the
- * <code>Cipher</code> or <code>CipherOutputStream</code>.
- *
- * @see Cipher
- * @see CipherOutputStream
- */
-public class CipherInputStream extends FilterInputStream {
-	private static final int SKIP_BUFFER_SIZE = 2048;
-	private Cipher cipher;
-/**
- * Constructs a new <code>CipherInputStream</code> that decrypts the
- * data in the given <code>InputStream</code>.  The data can only be
- * decrypted if the given password is the same as that which was used
- * to encrypt it.
- *
- * @param is
- * @param password
- */
-public CipherInputStream(InputStream is, String password) {
-	super(is);
-	cipher = new Cipher(Cipher.DECRYPT_MODE, password);
-}
-/**
- * @see InputStream#markSupported
- */
-public boolean markSupported() {
-	return false;
-}
-/**
- * @see InputStream#read
- */
-public int read() throws IOException {
-	int b = super.read();
-	if (b == -1)
-		return -1;
-	try {
-		return ((int) cipher.cipher((byte) b)) & 0x00ff;
-	} catch (Exception e) {
-		throw new IOException(e.getMessage());
-	}
-}
-/**
- * @see InputStream#read(byte, int, int)
- */
-public int read(byte b[], int off, int len) throws IOException {
-	int bytesRead = in.read(b, off, len);
-	if (bytesRead == -1)
-		return -1;
-	try {
-		byte[] result = cipher.cipher(b, off, bytesRead);
-		for (int i = 0; i < result.length; ++i)
-			b[i + off] = result[i];
-		return bytesRead;
-	} catch (Exception e) {
-		throw new IOException(e.getMessage());
-	}
-}
-/**
- * @see InputStream#skip(long)
- */
-public long skip(long n) throws IOException {
-	byte[] buffer = new byte[SKIP_BUFFER_SIZE];
-
-	int bytesRead = 0;
-	long bytesRemaining = n;
-
-	while(bytesRead != -1 && bytesRemaining > 0){
-		bytesRead = read(buffer, 0, (int)Math.min(SKIP_BUFFER_SIZE, bytesRemaining));
-		if(bytesRead > 0){
-			bytesRemaining -= bytesRead;
-		}
-	}
-
-	return n - bytesRemaining;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
deleted file mode 100644
index 61828f3..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-
-/**
- * Encrypts a stream of data that can be decrypted using the
- * <code>Cipher</code> or <code>CipherInputStream</code>.
- *
- * @see Cipher
- * @see CipherInputStream
- */
-public class CipherOutputStream extends FilterOutputStream {
-	private Cipher cipher;
-/**
- * Constructs a new <code>CipherOutputStream</code> that encrypts the
- * data in the given <code>OutputStream</code>.  Once the data is
- * encrypted it can be decrypted by suppying the encrupted data and
- * given password to a <code>Cipher</code> or
- * <code>CipherInputStream</code>.
- *
- * @param os
- * @param password
- */
-public CipherOutputStream(OutputStream os, String password) {
-	super(os);
-	cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
-}
-/**
- * @see OutputStream#write(int)
- */
-public void write(int b) throws IOException {
-	try {
-		out.write(cipher.cipher((byte) b));
-	} catch (Exception e) {
-		throw new IOException(e.getMessage());
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
deleted file mode 100644
index 8469fbd..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
+++ /dev/null
@@ -1,1209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM - Initial implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.boot.*;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-/**
- * Bootstrap class for the platform. It is responsible for setting up the
- * platform class loader and passing control to the actual application class
- */
-public final class InternalPlatform {
-	private static IAdapterManager adapterManager;
-	private static PluginRegistry registry;
-	// registry index - used to store last modified times for
-	// registry caching
-	// ASSUMPTION:  Only the plugin registry in 'registry' above
-	// will be cached
-	private static Map regIndex = null;
-	
-	private static ArrayList logListeners = new ArrayList(5);
-	private static Map logs = new HashMap(5);
-	private static PlatformLogWriter platformLog = null;
-	private static PlatformMetaArea metaArea;
-	private static boolean initialized;
-	private static Runnable endOfInitializationHandler = null;
-	private static IPath location;
-	private static PluginClassLoader xmlClassLoader = null;
-	private static long cacheReadTimeStamp;
-
-	private static boolean debugEnabled = false;
-	private static boolean consoleLogEnabled = false;
-	private static ILogListener consoleLog = null;
-	private static Properties options = null;
-	private static AuthorizationDatabase keyring = null;
-	private static String keyringFile = null;
-	private static String password = ""; //$NON-NLS-1$
-	private static boolean splashDown = false;
-	private static boolean cacheRegistry = true;
-	private static boolean noLazyRegistryCacheLoading = false;	
-	private static String pluginCustomizationFile = null;
-
-	private static File lockFile = null;
-	private static RandomAccessFile lockRAF = null;
-	
-	/**
-	 * Name of the plug-in customization file (value "plugin_customization.ini")
-	 * located in the root of the primary feature plug-in and it's 
-	 * companion nl-specific file with externalized strings (value
-	 * "plugin_customization.properties").  The companion file can
-	 * be contained in any nl-specific subdirectories of the primary
-	 * feature or any fragment of this feature.
-	 */
-	private static final String PLUGIN_CUSTOMIZATION_BASE_NAME = "plugin_customization"; //$NON-NLS-1$
-	private static final String PLUGIN_CUSTOMIZATION_FILE_NAME = PLUGIN_CUSTOMIZATION_BASE_NAME + ".ini"; //$NON-NLS-1$
-
-	// default plugin data
-	private static final String PI_XML = "org.apache.xerces"; //$NON-NLS-1$
-	private static final String PLUGINSDIR = "plugins/"; //$NON-NLS-1$
-	private static final String XML_LOCATION = "plugins/" + PI_XML + "/"; //$NON-NLS-1$ //$NON-NLS-2$
-	
-	// execution options
-	private static final String OPTION_DEBUG = Platform.PI_RUNTIME + "/debug"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_SYSTEM_CONTEXT = Platform.PI_RUNTIME + "/debug/context"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_STARTUP = Platform.PI_RUNTIME + "/timing/startup"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_SHUTDOWN = Platform.PI_RUNTIME + "/timing/shutdown"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_PLUGINS = Platform.PI_RUNTIME + "/registry/debug"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_PLUGINS_DUMP = Platform.PI_RUNTIME + "/registry/debug/dump"; //$NON-NLS-1$
-	private static final String OPTION_DEBUG_PREFERENCES = Platform.PI_RUNTIME + "/preferences/debug"; //$NON-NLS-1$
-
-	// command line options
-	private static final String LOG = "-consolelog"; //$NON-NLS-1$
-	private static final String KEYRING = "-keyring"; //$NON-NLS-1$
-	protected static final String PASSWORD = "-password"; //$NON-NLS-1$
-	private static final String NOREGISTRYCACHE = "-noregistrycache"; //$NON-NLS-1$
-	private static final String NO_LAZY_REGISTRY_CACHE_LOADING = "-noLazyRegistryCacheLoading"; //$NON-NLS-1$	
-	private static final String PLUGIN_CUSTOMIZATION = "-plugincustomization"; //$NON-NLS-1$
-	private static final String NO_PACKAGE_PREFIXES = "-noPackagePrefixes"; //$NON-NLS-1$
-
-	// debug support:  set in loadOptions()
-	public static boolean DEBUG = false;
-	public static boolean DEBUG_CONTEXT = false;
-	public static boolean DEBUG_PLUGINS = false;
-	public static boolean DEBUG_STARTUP = false;
-	public static boolean DEBUG_SHUTDOWN = false;
-	public static String DEBUG_PLUGINS_DUMP = null;
-	public static boolean DEBUG_PREFERENCES = false;
-	
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-
-
-/**
- * Private constructor to block instance creation.
- */
-private InternalPlatform() {
-}
-/**
- * The runtime plug-in is not totally real due to bootstrapping problems.
- * This method builds the required constructs to activate and install
- * the runtime plug-in.
- */
-private static void activateDefaultPlugins() throws CoreException {
-	// for now, simply do the default activation.  This does not do the right thing
-	// wrt the plugin class loader.
-	PluginDescriptor descriptor = (PluginDescriptor) registry.getPluginDescriptor(Platform.PI_RUNTIME);
-	DelegatingURLClassLoader loader = PlatformClassLoader.getDefault();
-	descriptor.activateDefaultPlugins(loader);
-	loader.setPackagePrefixes(PluginClassLoader.initializePrefixes(descriptor, loader.getPrefixId()));
-	descriptor.setPluginClassLoader(loader);
-	descriptor.getPlugin();
-
-	descriptor = (PluginDescriptor) registry.getPluginDescriptor(PI_XML, xmlClassLoader.getPluginDescriptor().getVersionIdentifier());
-	descriptor.activateDefaultPlugins(xmlClassLoader);
-	xmlClassLoader.setPackagePrefixes(PluginClassLoader.initializePrefixes(descriptor, xmlClassLoader.getPrefixId()));
-	descriptor.setPluginClassLoader(xmlClassLoader);
-	xmlClassLoader.setPluginDescriptor(descriptor);
-	descriptor.getPlugin();
-}
-/**
- * @see Platform
- */
-public static void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info) throws CoreException {
-	keyring.addAuthorizationInfo(serverUrl, realm, authScheme, new HashMap(info));
-	keyring.save();
-}
-/**
- * @see Platform#addLogListener
- */
-public static void addLogListener(ILogListener listener) {
-	assertInitialized();
-	synchronized (logListeners) {
-		// replace if already exists (Set behaviour but we use an array
-		// since we want to retain order)
-		logListeners.remove(listener);
-		logListeners.add(listener);
-	}
-}
-/**
- * @see Platform
- */
-public static void addProtectionSpace(URL resourceUrl, String realm) throws CoreException {
-	keyring.addProtectionSpace(resourceUrl, realm);
-	keyring.save();
-}
-/**
- * @see Platform
- */
-public static URL asLocalURL(URL url) throws IOException {
-	if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
-		return url;
-	URLConnection connection = url.openConnection();
-	if (!(connection instanceof PlatformURLConnection))
-		return url;
-	String file = connection.getURL().getFile();
-	if (file.endsWith("/") && !file.endsWith(PlatformURLHandler.JAR_SEPARATOR)) //$NON-NLS-1$
-		throw new IOException();
-	return ((PlatformURLConnection) connection).getURLAsLocal();
-}
-private static void assertInitialized() {
-	//avoid the Policy.bind if assertion is true
-	if (!initialized)
-		Assert.isTrue(false, Policy.bind("meta.appNotInit")); //$NON-NLS-1$
-}
-/**
- * Closes the open lock file handle, and makes a silent best
- * attempt to delete the file.
- */
-private static synchronized void clearLockFile() {
-	try {
-		if (lockRAF != null) {
-			lockRAF.close();
-			lockRAF = null;
-		}
-	} catch (IOException e) {
-		//don't complain, we're making a best effort to clean up
-	}
-	if (lockFile != null) {
-		lockFile.delete();
-		lockFile = null;
-	}
-}
-/**
- * Creates a lock file in the meta-area that indicates the meta-area
- * is in use, preventing other eclipse instances from concurrently
- * using the same meta-area.
- */
-private static synchronized void createLockFile() throws CoreException {
-	String lockLocation = metaArea.getLocation().append(PlatformMetaArea.F_LOCK_FILE).toOSString();
-	lockFile = new File(lockLocation);
-	//if the lock file already exists, try to delete,
-	//assume failure means another eclipse has it open
-	if (lockFile.exists())
-		lockFile.delete();
-	if (lockFile.exists()) {
-		String message = Policy.bind("meta.inUse", lockLocation); //$NON-NLS-1$
-		throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
-	}
-	try {
-		//open the lock file so other instances can't co-exist
-		lockRAF = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-		lockRAF.writeByte(0);
-	} catch (IOException e) {
-		String message = Policy.bind("meta.failCreateLock", lockLocation); //$NON-NLS-1$
-		throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e));
-	}
-}
-
-/**
- * Creates and remembers a spoofed up class loader which loads the
- * classes from a predefined XML plugin.
- */
-private static void createXMLClassLoader() {
-	// create a plugin descriptor which is sufficient to be able to create
-	// the class loader through the normal channels.
-	Factory factory = new InternalFactory(null);
-	PluginDescriptor descriptor = (PluginDescriptor) factory.createPluginDescriptor();	
-	descriptor.setEnabled(true);
-	descriptor.setId(PI_XML);
-	PlatformConfiguration config = InternalBootLoader.getCurrentPlatformConfiguration();
-	PlatformConfiguration.BootDescriptor bd = config.getPluginBootDescriptor(PI_XML);
-	descriptor.setVersion(bd.getVersion());
-	try {
-		URL url = bd.getPluginDirectoryURL();
-		if (url == null)
-			url = new URL(BootLoader.getInstallURL(), XML_LOCATION);
-		descriptor.setLocation(url.toExternalForm());
-	} catch (MalformedURLException e) {
-		// ISSUE: What to do when this fails.  It's pretty serious
-		e.printStackTrace();
-	}
-
-	ArrayList libList = new ArrayList();
-	String[] libs = bd.getLibraries();
-	for (int i=0; i<libs.length; i++) {
-		LibraryModel lib = factory.createLibrary();
-		lib.setName(libs[i]);
-		lib.setExports(new String[] { "*" }); //$NON-NLS-1$
-		libList.add(lib);
-	}
-	descriptor.setRuntime((LibraryModel[]) libList.toArray(new LibraryModel[0]));
-
-	// use the fake plugin descriptor to create the desired class loader.
-	// Since this class loader will be used before the plugin registry is installed,
-	// ensure that the URLs on its class path are raw as opposed to eclipse:
-	xmlClassLoader = (PluginClassLoader) descriptor.getPluginClassLoader(false);
-}
-/**
- * @see Platform
- */
-public static void endSplash() {
-	if (DEBUG) {
-		String startString = Platform.getDebugOption(Platform.OPTION_STARTTIME);
-		if (startString != null) 
-			try {
-				long start = Long.parseLong(startString);
-				long end = System.currentTimeMillis();
-				System.out.println("Startup complete: " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (NumberFormatException e) {
-				//this is just debugging code -- ok to swallow exception
-			}
-	}	
-	if (splashDown) 
-		return;
-		
-	splashDown = true;
-	if (DelegatingURLClassLoader.MONITOR_PLUGINS)
-		PluginStats.setBooting(false);
-	if (DelegatingURLClassLoader.MONITOR_CLASSES)
-		ClassStats.setBooting(false);
-	run(endOfInitializationHandler);
-}
-
-/**
- * @see Platform
- */
-public static void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) throws CoreException {
-	keyring.flushAuthorizationInfo(serverUrl, realm, authScheme);
-	keyring.save();
-}
-/**
- * @see Platform#getAdapterManager
- */
-public static IAdapterManager getAdapterManager() {
-	assertInitialized();
-	return adapterManager;
-}
-
-/**
- * Augments the plugin path with extra entries.
- */
-private static URL[] getAugmentedPluginPath(URL[] pluginPath) {
-	
-	// ISSUE: this code needs to be reworked so that the platform
-	//        does not have logical reference to plug-in-specific
-	//        function
-		
-	IPath result = metaArea.getLocation().append(PlatformMetaArea.F_PLUGIN_DATA).append("org.eclipse.scripting").append("plugin.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-	String userScriptName = result.toString();
-	URL userScriptUrl = null;
-	try {
-		userScriptUrl = new URL("file",null,0,userScriptName); //$NON-NLS-1$
-	} catch(MalformedURLException e) {
-		return pluginPath;
-	}
-		
-	URL[] newPath = new URL[pluginPath.length+1];
-	System.arraycopy(pluginPath,0,newPath,0, pluginPath.length);
-	newPath[newPath.length-1] = userScriptUrl;	
-	return newPath;
-}
-/**
- * @see Platform
- */
-public static Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
-	Map info = keyring.getAuthorizationInfo(serverUrl, realm, authScheme);
-	return info == null ? null : new HashMap(info);
-}
-public static boolean getBooleanOption(String option, boolean defaultValue) {
-	String optionValue = getDebugOption(option);
-	return (optionValue != null && optionValue.equalsIgnoreCase("true"))  || defaultValue; //$NON-NLS-1$
-}
-/**
- * @see Platform
- */
-public static String getDebugOption(String option) {
-	return debugEnabled ? options.getProperty(option) : null;
-}
-public static int getIntegerOption(String option, int defaultValue) {
-	String value = getDebugOption(option);
-	try {
-		return value == null ? defaultValue : Integer.parseInt(value);
-	} catch (NumberFormatException e) {
-		return defaultValue;
-	}
-}
-/**
- * @see Platform#getLocation
- */
-public static IPath getLocation() {
-	assertInitialized();
-	return location;
-}
-/**
- * Returns a log for the given plugin or <code>null</code> if none exists.
- */
-public static ILog getLog(Plugin plugin) {
-	ILog result = (ILog) logs.get(plugin);
-	if (result != null)
-		return result;
-	result = new Log(plugin);
-	logs.put(plugin, result);
-	return result;
-}
-/**
- * Returns the object which defines the location and organization
- * of the platform's meta area.
- */
-public static PlatformMetaArea getMetaArea() {
-	return metaArea;
-}
-/**
- * @see Platform#getPlugin
- */
-public static Plugin getPlugin(String id) {
-	assertInitialized();
-	IPluginDescriptor descriptor = getPluginRegistry().getPluginDescriptor(id);
-	if (descriptor == null)
-		return null;
-	try {
-		return descriptor.getPlugin();
-	} catch (CoreException e) {
-		//failed to activate the plugin -- return null
-		log(e.getStatus());
-		return null;
-	}
-}
-/**
- * @see Platform#getPluginRegistry
- */
-public static IPluginRegistry getPluginRegistry() {
-	assertInitialized();
-	return registry;
-}
-/**
- * @see Platform#getPluginStateLocation
- */
-public static IPath getPluginStateLocation(IPluginDescriptor descriptor, boolean create) {
-	assertInitialized();
-	IPath result = metaArea.getPluginStateLocation(descriptor);
-	if (create)
-		result.toFile().mkdirs();
-	return result;
-}
-/**
- * @see Platform
- */
-public static String getProtectionSpace(URL resourceUrl) {
-	return keyring.getProtectionSpace(resourceUrl);
-}
-public static Plugin getRuntimePlugin() {
-	try {
-		return getPluginRegistry().getPluginDescriptor(Platform.PI_RUNTIME).getPlugin();
-	} catch (CoreException e) {
-		//impossible for the runtime plugin to be missing
-		log(e.getStatus());
-		return null;
-	}
-}
-private static void handleException(ISafeRunnable code, Throwable e) {
-	if (!(e instanceof OperationCanceledException)) {
-		// try to figure out which plugin caused the problem.  Derive this from the class
-		// of the code arg.  Attribute to the Runtime plugin if we can't figure it out.
-		Plugin plugin = getRuntimePlugin();
-		try {
-			plugin = ((PluginClassLoader)code.getClass().getClassLoader()).getPluginDescriptor().getPlugin();
-		} catch (ClassCastException e1) {
-			//ignore and attribute exception to runtime
-		} catch (CoreException e1) {
-			//ignore and attribute exception to runtime
-		}
-		String pluginId =  plugin.getDescriptor().getUniqueIdentifier();
-		String message = Policy.bind("meta.pluginProblems", pluginId); //$NON-NLS-1$
-		IStatus status;
-		if (e instanceof CoreException) {
-			status = new MultiStatus(pluginId, Platform.PLUGIN_ERROR, message, e);
-			((MultiStatus)status).merge(((CoreException)e).getStatus());
-		} else {
-			status = new Status(Status.ERROR, pluginId, Platform.PLUGIN_ERROR, message, e);
-		}
-		plugin.getLog().log(status);
-	}
-	code.handleException(e);
-}
-/**
- * Internal method for finding and returning a runnable instance of the 
- * given class as defined in the specified plug-in.
- * The returned object is initialized with the supplied arguments.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static IPlatformRunnable loaderGetRunnable(String applicationName) {
-	assertInitialized();
-	IExtension extension = registry.getExtension(Platform.PI_RUNTIME, Platform.PT_APPLICATIONS, applicationName);
-	if (extension == null)
-		return null;
-	IConfigurationElement[] configs = extension.getConfigurationElements();
-	if (configs.length == 0)
-		return null;
-	try {
-		IConfigurationElement config = configs[0];
-		return (IPlatformRunnable) config.createExecutableExtension("run"); //$NON-NLS-1$
-	} catch (CoreException e) {
-		getRuntimePlugin().getLog().log(e.getStatus());
-		return null;
-	}
-}
-/**
- * Internal method for finding and returning a runnable instance of the 
- * given class as defined in the specified plug-in.
- * The returned object is initialized with the supplied arguments.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static IPlatformRunnable loaderGetRunnable(String pluginId, String className, Object args) {
-	assertInitialized();
-	PluginDescriptor descriptor = (PluginDescriptor) registry.getPluginDescriptor(pluginId);
-	try {
-		return (IPlatformRunnable) descriptor.createExecutableExtension(className, args, null, null);
-	} catch (CoreException e) {
-		getRuntimePlugin().getLog().log(e.getStatus());
-		return null;
-	}
-}
-/**
- * Internal method for shutting down the platform.  All active plug-ins 
- * are notified of the impending shutdown. 
- * The exact order of notification is unspecified;
- * however, each plug-in is assured that it will be told to shut down
- * before any of its prerequisites.  Plug-ins are expected to free any
- * shared resources they manage.  Plug-ins should not store state at
- * this time; a separate <b>save</b> lifecycle event preceding the
- * shutdown notice tells plug-ins the right time to be saving their state.
- * <p>
- * On exit, the platform will no longer be initialized and any objects derived from
- * or based on the running platform are invalidated.
- * </p>
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static void loaderShutdown() {
-	assertInitialized();
-	registry.shutdown(null);
-	clearLockFile();
-	if (DEBUG_PLUGINS && DEBUG_PLUGINS_DUMP != null) {
-		// We are debugging so output the registry in XML
-		// format.
-		registry.debugRegistry(DEBUG_PLUGINS_DUMP);
-	}
-	
-	if (cacheRegistry) {
-		// Write the registry in cache format
-		try {
-			registry.saveRegistry();
-		} catch (IOException e) {
-			String message = Policy.bind("meta.unableToWriteRegistry"); //$NON-NLS-1$
-			IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, e);
-			getRuntimePlugin().getLog().log(status);
-			if (DEBUG)
-				System.out.println(status.getMessage());
-		}
-	} else {
-		// get rid of the cache file if it exists
-		registry.flushRegistry();
-	}
-	if (platformLog != null)
-		platformLog.shutdown();
-	initialized = false;
-}
-/**
- * Internal method for starting up the platform.  The platform is started at the 
- * given location.  The plug-ins found at the supplied 
- * collection of plug-in locations are loaded into the newly started platform.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @param pluginPath the list of places to look for plug-in specifications.  This may
- *		identify individual plug-in files or directories containing directories which contain
- *		plug-in files.
- * @param location the local filesystem location at which the newly started platform
- *		should be started.  If the location does not contain the saved state of a platform,
- *		the appropriate structures are created on disk (if required).
- * @param bootOptions the debug options loaded by the boot loader.  If the argument
- *		is <code>null</code> then debugging enablement was not requested by the
- *		person starting the platform.
- * @see BootLoader
- */
-public static void loaderStartup(URL[] pluginPath, String locationString, Properties bootOptions, String[] args, Runnable handler) throws CoreException {
-	endOfInitializationHandler = handler;
-	processCommandLine(args);
-	setupMetaArea(locationString);
-	createLockFile();
-	adapterManager = new AdapterManager();
-	loadOptions(bootOptions);
-	createXMLClassLoader();
-	MultiStatus problems = loadRegistry(pluginPath);
-	initialized = true;
-	// can't register url handlers until after the plugin registry is loaded
-	PlatformURLPluginHandlerFactory.startup();
-	activateDefaultPlugins();
-	if (DEBUG_CONTEXT)
-		System.out.println("OS: " + BootLoader.getOS() + " WS: " + BootLoader.getWS() +  //$NON-NLS-1$ //$NON-NLS-2$
-			" NL: " + BootLoader.getNL() + " ARCH: " + BootLoader.getOSArch()); //$NON-NLS-1$ //$NON-NLS-2$
-	// can't install the log or log problems until after the platform has been initialized.
-	platformLog = new PlatformLogWriter(metaArea.getLogLocation().toFile());
-	addLogListener(platformLog);
-	if (consoleLogEnabled) {
-		consoleLog = new PlatformLogWriter(System.out);
-		addLogListener(consoleLog);
-	}
-	if (!problems.isOK())
-		getRuntimePlugin().getLog().log(problems);
-	loadKeyring();
-}
-/**
- * Opens the password database (if any) initally provided to the platform at startup.
- */
-private static void loadKeyring() {
-	if (keyringFile != null) {
-		try {
-			keyring = new AuthorizationDatabase(keyringFile, password);
-		} catch (CoreException e) {
-			log(e.getStatus());
-		}
-		if (keyring == null) {
-			//try deleting the file and loading again - format may have changed
-			new java.io.File(keyringFile).delete();
-			try {
-				keyring = new AuthorizationDatabase(keyringFile, password);
-			} catch (CoreException e) {
-				//don't bother logging a second failure
-			}
-		}
-	}
-	if (keyring == null)
-		keyring = new AuthorizationDatabase();
-}
-static void loadOptions(Properties bootOptions) {
-	// If the boot loader passed <code>null</code> for the boot options, the user
-	// did not specify debug options so no debugging should be enabled.
-	if (bootOptions == null) {
-		debugEnabled = false;
-		return;
-	}
-	debugEnabled = true;
-	options = new Properties(bootOptions);
-	try {
-		InputStream input = new FileInputStream(InternalPlatform.getMetaArea().getOptionsLocation().toFile());
-		try {
-			options.load(input);
-		} finally {
-			input.close();
-		}
-	} catch (FileNotFoundException e) {
-		//	Its not an error to not find the options file
-	} catch (IOException e) {
-		//	Platform.RuntimePlugin.getLog().log();
-	}
-		// trim off all the blanks since properties files don't do that.
-	for (Iterator i = options.keySet().iterator(); i.hasNext();) {
-		Object key = i.next();
-		options.put(key, ((String) options.get(key)).trim());
-	}
-	DEBUG = getBooleanOption(OPTION_DEBUG, false);
-	if (DEBUG) {
-		DEBUG_CONTEXT = getBooleanOption(OPTION_DEBUG_SYSTEM_CONTEXT, false);
-		DEBUG_STARTUP = getBooleanOption(OPTION_DEBUG_STARTUP, false);
-		DEBUG_SHUTDOWN = getBooleanOption(OPTION_DEBUG_SHUTDOWN, false);
-		DEBUG_PLUGINS = getBooleanOption(OPTION_DEBUG_PLUGINS, false);
-		DEBUG_PLUGINS_DUMP = getDebugOption(OPTION_DEBUG_PLUGINS_DUMP);
-		DEBUG_PREFERENCES = getBooleanOption(OPTION_DEBUG_PREFERENCES, false);
-	}
-	InternalBootLoader.setupOptions();
-}
-/**
- * Parses, resolves and rememberhs the plugin registry.  The multistatus returned
- * details any problems/issues encountered during this process.
- */
-private static MultiStatus loadRegistry(URL[] pluginPath) {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.registryProblems"), null); //$NON-NLS-1$
-	InternalFactory factory = new InternalFactory(problems);
-
-	IPath path = getMetaArea().getRegistryPath();
-	File cacheFile = path.toFile();
-	DataInputStream input = null;
-	registry = null;
-	// augment the plugin path with any additional platform entries
-	// (eg. user scripts)
-	URL[] augmentedPluginPath = getAugmentedPluginPath(pluginPath);
-	if (cacheFile.exists() && cacheRegistry) {
-		try {
-			input = new DataInputStream(new BufferedInputStream(new FileInputStream(path.toFile())));
-			try {
-				long start = System.currentTimeMillis();
-				if (DEBUG && !noLazyRegistryCacheLoading)
-					System.out.println("Lazily loading plug-in registry cache"); //$NON-NLS-1$
-				// read the registry cache
-				RegistryCacheReader cacheReader = new RegistryCacheReader(factory, !noLazyRegistryCacheLoading);
-				registry = (PluginRegistry) cacheReader.readPluginRegistry(input, augmentedPluginPath, DEBUG && DEBUG_PLUGINS);
-				// turn off lazy loading from now on if it was on				
-				if (!noLazyRegistryCacheLoading)
-					cacheReader.setLazilyLoadExtensions(false);
-				if (DEBUG)
-					System.out.println("Read registry cache: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			} finally {
-				input.close();
-			}
-		} catch (IOException ioe) {
-			IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, Policy.bind("meta.unableToReadCache"), ioe); //$NON-NLS-1$
-			problems.merge(status);
-		}
-	}
-	if (registry == null) {
-		clearRegIndex();
-		if (cacheFile.exists()) {
-			// Delete the cache file so we know to re-write the
-			// cache when we shutdown.  If the cache file exists
-			// on shutdown, we won't bother re-writing it.
-			if (!cacheFile.delete()) {
-				IStatus status = new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.FAILED_DELETE_METADATA, Policy.bind("meta.unableToDeleteCache", cacheFile.getAbsolutePath()), null); //$NON-NLS-1$
-				problems.merge(status);
-			}	
-		}
-		long start = System.currentTimeMillis();
-		InternalPlatform.setRegistryCacheTimeStamp(BootLoader.getCurrentPlatformConfiguration().getPluginsChangeStamp());
-		registry = (PluginRegistry) parsePlugins(augmentedPluginPath, factory, DEBUG && DEBUG_PLUGINS);
-		IStatus resolveStatus = registry.resolve(true, true);
-		problems.merge(resolveStatus);
-		registry.markReadOnly();
-		if (DEBUG)
-			System.out.println("Parse and resolve registry: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	registry.startup(null);
-	return problems;
-}
-/**
- * Notifies all listeners of the platform log.  This includes the console log, if 
- * used, and the platform log file.  All Plugin log messages get funnelled
- * through here as well.
- */
-public static void log(final IStatus status) {
-	assertInitialized();
-	// create array to avoid concurrent access
-	ILogListener[] listeners;
-	synchronized (logListeners) {
-		listeners = (ILogListener[]) logListeners.toArray(new ILogListener[logListeners.size()]);
-	}
-	for (int i = 0; i < listeners.length; i++) {
-		final ILogListener listener = listeners[i];
-		ISafeRunnable code = new ISafeRunnable() {
-			public void run() throws Exception {
-				listener.logging(status, Platform.PI_RUNTIME);
-			}
-			public void handleException(Throwable e) {
-			}
-		};
-		run(code);
-	}
-}
-/**
- * @see Platform#parsePlugins
- */
-public static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory) {
-	return parsePlugins(pluginPath, factory, false);
-}
-/**
- * @see Platform#parsePlugins
- */
-public synchronized static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory, boolean debug) {
-	// If the platform is not running then simply parse the registry.  We don't need to play
-	// any funny class loader games as we assume the XML classes are on the class path
-	// This happens when we are running this code as part of a utility (as opposed to starting
-	// or inside the platform).
-	if (!(InternalBootLoader.isRunning() || InternalBootLoader.isStarting()))
-		return RegistryLoader.parseRegistry(pluginPath, factory, debug);
-
-	// If we are running the platform, we want to conserve class loaders.  
-	// Temporarily install the xml class loader as a prerequisite of the platform class loader
-	// This allows us to find the xml classes.  Be sure to reset the prerequisites after loading.
-	PlatformClassLoader.getDefault().setImports(new DelegatingURLClassLoader[] { xmlClassLoader });
-	try {
-		return RegistryLoader.parseRegistry(pluginPath, factory, debug);
-	} finally {
-		PlatformClassLoader.getDefault().setImports(null);
-	}
-}
-private static String[] processCommandLine(String[] args) {
-	int[] configArgs = new int[100];
-	configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
-	int configArgIndex = 0;
-	for (int i = 0; i < args.length; i++) {
-		boolean found = false;
-		// check for args without parameters (i.e., a flag arg)
-
-		// look for the log flag
-		if (args[i].equalsIgnoreCase(LOG)) {
-			consoleLogEnabled = true;
-			found = true;
-		}
-
-		// look for the no registry cache flag
-		if (args[i].equalsIgnoreCase(NOREGISTRYCACHE)) {
-			cacheRegistry = false;
-			found = true;
-		}
-
-		// check to see if we should NOT be lazily loading plug-in definitions from the registry cache file.
-		// This will be processed below.
-		if (args[i].equalsIgnoreCase(NO_LAZY_REGISTRY_CACHE_LOADING)) {
-			noLazyRegistryCacheLoading = true;
-			found = true;
-		}
-		
-		// look for the flag to turn off using package prefixes
-		if (args[i].equalsIgnoreCase(NO_PACKAGE_PREFIXES)) {
-			PluginClassLoader.usePackagePrefixes = false;
-			found = true;
-		}
-
-		// done checking for args.  Remember where an arg was found 
-		if (found) {
-			configArgs[configArgIndex++] = i;
-			continue;
-		}
-		// check for args with parameters
-		if (i == args.length - 1 || args[i + 1].startsWith("-"))  //$NON-NLS-1$
-			continue;
-		String arg = args[++i];
-
-		// look for the keyring file
-		if (args[i - 1].equalsIgnoreCase(KEYRING)) {
-			keyringFile = arg;
-			found = true;
-		}
-
-		// look for the user password.  
-		if (args[i - 1].equalsIgnoreCase(PASSWORD)) {
-			password = arg;
-			found = true;
-		}
-
-		// look for the plug-in customization file
-		if (args[i - 1].equalsIgnoreCase(PLUGIN_CUSTOMIZATION)) {
-			pluginCustomizationFile = arg;
-			found = true;
-		}
-
-		// done checking for args.  Remember where an arg was found 
-		if (found) {
-			configArgs[configArgIndex++] = i - 1;
-			configArgs[configArgIndex++] = i;
-		}
-	}
-	// remove all the arguments consumed by this argument parsing
-	if (configArgIndex == 0)
-		return args;
-	String[] passThruArgs = new String[args.length - configArgIndex];
-	configArgIndex = 0;
-	int j = 0;
-	for (int i = 0; i < args.length; i++) {
-		if (i == configArgs[configArgIndex])
-			configArgIndex++;
-		else
-			passThruArgs[j++] = args[i];
-	}
-	return passThruArgs;
-}
-/**
- * @see Platform#removeLogListener
- */
-public static void removeLogListener(ILogListener listener) {
-	assertInitialized();
-	synchronized (logListeners) {
-		logListeners.remove(listener);
-	}
-}
-/**
- * @see Platform
- */
-public static URL resolve(URL url) throws IOException {
-	if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
-		return url;
-	URLConnection connection = url.openConnection();
-	if (connection instanceof PlatformURLConnection)
-		return ((PlatformURLConnection) connection).getResolvedURL();
-	else
-		return url;
-}
-public static void run(ISafeRunnable code) {
-	Assert.isNotNull(code);
-	try {
-		code.run();
-	} catch (Exception e) {
-		handleException(code, e);
-	} catch (LinkageError e) {
-		handleException(code, e);
-	}
-}
-private static void run(Runnable handler) {
-	// run end-of-initialization handler
-	if (handler == null)
-		return; 
-		
-	final Runnable finalHandler = handler;
-	ISafeRunnable code = new ISafeRunnable() {
-		public void run() throws Exception {
-			finalHandler.run();
-		}
-		public void handleException(Throwable e) {
-			// just continue ... the exception has already been logged by
-			// the platform (see handleException(ISafeRunnable)
-		}
-	};
-	Platform.run(code);
-}
-public static void setDebugOption(String option, String value) {
-	if (debugEnabled)
-		options.setProperty(option, value);
-}
-/**
- * Sets the plug-in registry for the platform to the given value.
- * This method should only be called by the registry loader
- */
-public static void setPluginRegistry(IPluginRegistry value) {
-	registry = (PluginRegistry) value;
-}
-private static void setupMetaArea(String locationString) throws CoreException {
-	location = new Path(locationString);
-	if (!location.isAbsolute())
-		location = new Path(System.getProperty("user.dir")).append(location); //$NON-NLS-1$
-	// must create the meta area first as it defines all the other locations.
-	if (location.toFile().exists()) {
-		if (!location.toFile().isDirectory()) {
-			String message = Policy.bind("meta.notDir", location.toString()); //$NON-NLS-1$
-			throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
-		}
-	}
-	metaArea = new PlatformMetaArea(location);
-	metaArea.createLocation();
-	if (keyringFile == null)
-		keyringFile = metaArea.getLocation().append(PlatformMetaArea.F_KEYRING).toOSString();
-}
-public static void addLastModifiedTime (String pathKey, long lastModTime) {
-	if (regIndex == null)
-		regIndex = new HashMap(30);
-	regIndex.put(pathKey, new Long(lastModTime));
-}
-public static Map getRegIndex() {
-	return regIndex;
-}
-public static void clearRegIndex() {
-	regIndex = null;
-}
-
-/**
- * Look for the companion preference translation file for a group
- * of preferences.  This method will attempt to find a companion 
- * ".properties" file first.  This companion file can be in an
- * nl-specific directory for this plugin or any of its fragments or 
- * it can be in the root of this plugin or the root of any of the
- * plugin's fragments. This properties file can be used to translate
- * preference values.
- * 
- * @param pluginDescriptor the descriptor of the plugin
- *   who has the preferences
- * @param basePrefFileName the base name of the preference file
- *   This base will be used to construct the name of the 
- *   companion translation file.
- *   Example: If basePrefFileName is "plugin_customization",
- *   the preferences are in "plugin_customization.ini" and
- *   the translations are found in
- *   "plugin_customization.properties".
- * @return the properties file
- * 
- * @since 2.0
- */
-public static Properties getPreferenceTranslator (IPluginDescriptor pluginDescriptor, String basePrefFileName) {
-	URL pluginExternalURL = pluginDescriptor.find(new Path("$nl$").append(basePrefFileName + ".properties")); //$NON-NLS-1$ //$NON-NLS-2$
-	if (pluginExternalURL == null)
-		return null;
-
-	Properties propFile = new Properties();
-	try {
-		InputStream input = new BufferedInputStream(new FileInputStream(pluginExternalURL.getFile()));
-		try {
-			propFile.load(input);
-		} finally {
-			if (input != null)
-				input.close();
-		}
-	} catch (IOException e) {
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Exception loading preference translations from file: " + pluginExternalURL); //$NON-NLS-1$
-			e.printStackTrace();
-		}
-	}
-
-	return propFile;
-}
-
-/**
- * Takes a preference value and a related resource bundle and
- * returns the translated version of this value (if one exists).
- * 
- * @param value the preference value for potential translation
- * @param bundle the bundle containing the translated values
- * 
- * @since 2.0
- */
-public static String translatePreference (String value, Properties props) {
-	value = value.trim();
-	if (props == null || value.startsWith(KEY_DOUBLE_PREFIX))
-		return value;
-	if (value.startsWith(KEY_PREFIX)) {
-			
-		int ix = value.indexOf(" "); //$NON-NLS-1$
-		String key = ix == -1 ? value : value.substring(0,ix);
-		String dflt = ix == -1 ? value : value.substring(ix+1);
-		return props.getProperty(key.substring(1), dflt);
-	}
-	return value;
-}
-
-/**
- * Applies primary feature-specific overrides to default preferences for the
- * plug-in with the given id.
- * <p>
- * Note that by the time this method is called, the default settings
- * for the plug-in itself should have already have been filled in.
- * </p>
- * 
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- * 
- * @since 2.0
- */
-public static void applyPrimaryFeaturePluginDefaultOverrides(
-	String id,
-	Preferences preferences) {
-
-	// carefully navigate to the plug-in for the primary feature
-	IPlatformConfiguration cfg = BootLoader.getCurrentPlatformConfiguration();
-	if (cfg == null) {
-		// bail if we don't seem to have one for whatever reason (!)
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Plugin preferences unable to find a platform configuration"); //$NON-NLS-1$
-		}
-		return;
-	}
-	String primaryFeaturePluginId = cfg.getPrimaryFeatureIdentifier();
-	if (primaryFeaturePluginId  == null) {
-		// bail if we don't seem to have one of these (!)
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Plugin preferences unable to find a primary feature plugin id"); //$NON-NLS-1$
-		}
-		return;
-	}
-	IPluginDescriptor primaryFeatureDescriptor = getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
-	if (primaryFeatureDescriptor  == null) {
-		// bail if primary feature is missing (!)
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Plugin preferences unable to find a primary feature"); //$NON-NLS-1$
-		}
-		return;
-	}
-	// locate plug-in customization file within primary feature plug-in (or fragment)
-	URL pluginCustomizationURL = primaryFeatureDescriptor.find(new Path(PLUGIN_CUSTOMIZATION_FILE_NAME));
-	if (pluginCustomizationURL == null) {
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Preferences file " + PLUGIN_CUSTOMIZATION_FILE_NAME + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return;
-	}
-	if (DEBUG_PREFERENCES) {
-		System.out.println("Loading preferences from " + pluginCustomizationURL); //$NON-NLS-1$
-	}
-	// Now see if we have a file with externalized strings for
-	// this preference file
-	Properties props = getPreferenceTranslator(primaryFeatureDescriptor, PLUGIN_CUSTOMIZATION_BASE_NAME);
-	// apply any defaults for the given plug-in
-	applyPluginDefaultOverrides(pluginCustomizationURL, id, preferences, props);
-}
-
-/**
- * Applies command line-supplied overrides to default preferences for the
- * plug-in with the given id.
- * <p>
- * Note that by the time this method is called, the default settings
- * for the plug-in itself should have already have been filled in, along
- * with any default overrides supplied by the primary feature.
- * </p>
- * 
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- * 
- * @since 2.0
- */
-public static void applyCommandLinePluginDefaultOverrides(
-	String id,
-	Preferences preferences) {
-	
-	if (pluginCustomizationFile == null) {
-		// no command line overrides to process
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Command line argument -pluginCustomization not used."); //$NON-NLS-1$
-		}
-		return;
-	}
-
-	try {
-		URL pluginCustomizationURL = new File(pluginCustomizationFile).toURL();
-		if (DEBUG_PREFERENCES) {
-			System.out.println("Loading preferences from " + pluginCustomizationURL); //$NON-NLS-1$
-		}
-		applyPluginDefaultOverrides(pluginCustomizationURL, id, preferences, null);
-	} catch (MalformedURLException e) {
-		// fail silently
-		if (DEBUG_PREFERENCES) {
-			System.out.println("MalformedURLException creating URL for plugin customization file " //$NON-NLS-1$
-				+ pluginCustomizationFile);
-			e.printStackTrace();
-		}
-		return;
-	}
-}
-
-/**
- * Applies overrides to default preferences for the plug-in with the given id.
- * The data is contained in the <code>java.io.Properties</code> style file at 
- * the given URL. The property names consist of "/'-separated plug-in id and
- * name of preference; e.g., "com.example.myplugin/mypref".
- * 
- * @param propertiesURL the URL of a <code>java.io.Properties</code> style file
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- * 
- * @since 2.0
- */
-private static void applyPluginDefaultOverrides(
-	URL propertiesURL,
-	String id,
-	Preferences preferences,
-	Properties props) {
-	
-	// read the java.io.Properties file at the given URL
-	Properties overrides = new Properties();
-	SafeFileInputStream in = null;
-		
-	try {
-		File inFile = new File(propertiesURL.getFile());
-		if (!inFile.exists()) {
-			// We don't have a preferences file to worry about
-			if (DEBUG_PREFERENCES) {
-				System.out.println("Preference file " + //$NON-NLS-1$
-				propertiesURL + " not found."); //$NON-NLS-1$
-			}
-			return;
-		}
-			
-		in = new SafeFileInputStream(inFile);
-		if (in == null) {
-			// fail quietly
-			if (DEBUG_PREFERENCES) {
-				System.out.println("Failed to open " + //$NON-NLS-1$
-					propertiesURL);
-			}
-			return;
-		}
-		overrides.load(in);
-	} catch (IOException e) {
-		// cannot read ini file - fail silently
-		if (DEBUG_PREFERENCES) {
-			System.out.println("IOException reading preference file " + //$NON-NLS-1$
-			propertiesURL);
-			e.printStackTrace();
-		}
-		return;
-	} finally {
-		try {
-			if (in != null) {
-				in.close();
-			}
-		} catch (IOException e) {
-			// ignore problems closing file
-			if (DEBUG_PREFERENCES) {
-				System.out.println("IOException closing preference file " + //$NON-NLS-1$
-				propertiesURL);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	for (Iterator it = overrides.entrySet().iterator(); it.hasNext();) {
-		Map.Entry entry = (Map.Entry) it.next();
-		String qualifiedKey = (String) entry.getKey();
-		// Keys consist of "/'-separated plug-in id and name of preference
-		// e.g., "com.example.myplugin/mypref"
-		int s = qualifiedKey.indexOf('/');
-		if (s < 0 || s == 0 || s == qualifiedKey.length() - 1) {
-			// skip mangled entry
-			continue;
-		}
-		// plug-in id is non-empty string before "/" 
-		String pluginId = qualifiedKey.substring(0, s);
-		if (pluginId.equals(id)) {
-			// override property in the given plug-in
-			// plig-in-specified property name is non-empty string after "/" 
-			String propertyName = qualifiedKey.substring(s + 1);
-			String value = (String) entry.getValue();
-			value = translatePreference(value, props);
-			preferences.setDefault(propertyName, value);
-		}
-	}
- 	if (DEBUG_PREFERENCES) {
-		System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
-		String[] prefNames = preferences.propertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getString(prefNames[i]);
-			System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		prefNames = preferences.defaultPropertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getDefaultString(prefNames[i]);
-			System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
-public static long getRegistryCacheTimeStamp() {
-	return cacheReadTimeStamp;
-}
-public static void setRegistryCacheTimeStamp(long timeStamp) {
-	cacheReadTimeStamp = timeStamp;
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
deleted file mode 100644
index bfe0075..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.*;
-
-/**
- * 
- */
-public class Log implements ILog{
-	Plugin plugin;
-	Set logListeners = new HashSet(5);
-Log(Plugin plugin) {
-	this.plugin = plugin;
-}
-/**
- * Adds the given log listener to this log.  Subsequently the log listener will
- * receive notification of all log events passing through this log.
- *
- * @see Platform#addLogListener
- */
-public void addLogListener(ILogListener listener) {
-	synchronized (logListeners) {
-		logListeners.add(listener);
-	}
-}
-/**
- * Returns the plug-in with which this log is associated.
- */
-public Plugin getPlugin() {
-	return plugin;
-}
-/**
- * Logs the given status.  The status is distributed to the log listeners
- * installed on this log and then to the log listeners installed on the platform.
- *
- * @see Plugin#getLogMask
- */
-public void log(final IStatus status) {
-	// Log to the platform log first in case a listener throws an error.
-	InternalPlatform.log(status);
-	// create array to avoid concurrent access
-	ILogListener[] listeners;
-	synchronized (logListeners) {
-		listeners = (ILogListener[]) logListeners.toArray(new ILogListener[logListeners.size()]);
-	}
-	for (int i = 0; i < listeners.length; i++) {
-		final ILogListener listener = listeners[i];
-		ISafeRunnable code = new ISafeRunnable() {
-			public void run() throws Exception {
-				listener.logging(status, plugin.getDescriptor().getUniqueIdentifier());
-			}
-			public void handleException(Throwable e) {
-			}
-		};
-		InternalPlatform.run(code);
-	}
-}
-/**
- * Removes the given log listener to this log.  Subsequently the log listener will
- * no longer receive notification of log events passing through this log.
- *
- * @see Platform#removeLogListener
- */
-public void removeLogListener(ILogListener listener) {
-	synchronized (logListeners) {
-		logListeners.remove(listener);
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
deleted file mode 100644
index 63fbe35..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.runtime.*;
-/**
- * A log writer that writes log entries.  
- * See PlatformLogReader for reading logs back into memory.
- */
-public class PlatformLogWriter implements ILogListener {
-	protected File logFile = null;
-	protected Writer log = null;
-	protected boolean newSession = true;
-
-	protected static final String SESSION = "!SESSION";//$NON-NLS-1$
-	protected static final String ENTRY = "!ENTRY";//$NON-NLS-1$
-	protected static final String SUBENTRY = "!SUBENTRY";//$NON-NLS-1$
-	protected static final String MESSAGE = "!MESSAGE";//$NON-NLS-1$
-	protected static final String STACK = "!STACK";//$NON-NLS-1$
-
-	protected static final String LINE_SEPARATOR;
-	protected static final String TAB_STRING = "\t";//$NON-NLS-1$
-
-	static {
-		String s = System.getProperty("line.separator");//$NON-NLS-1$
-		LINE_SEPARATOR = s == null ? "\n" : s;//$NON-NLS-1$
-	}
-
-public PlatformLogWriter(File file) {
-	this.logFile = file;
-}
-/**
- * This constructor should only be used to pass System.out .
- */
-public PlatformLogWriter(OutputStream out) {
-	this.log = logForStream(out);
-}
-protected void closeLogFile() throws IOException {
-	try {
-		if (log != null) {
-			log.flush();
-			log.close();
-		}
-	} finally {
-		log = null;
-	}
-}
-/**
- * @see ILogListener#logging.
- */
-public synchronized void logging(IStatus status, String plugin) {
-	// thread safety: (Concurrency003)
-	if (logFile != null)
-		openLogFile();
-	if (log == null)
-		log = logForStream(System.err);
-	try {
-		try {
-			write(status, 0);
-		} finally {
-			if (logFile != null)
-				closeLogFile();
-			else 
-				log.flush();
-		}			
-	} catch (Exception e) {
-		System.err.println("An exception occurred while writing to the platform log:");//$NON-NLS-1$
-		e.printStackTrace(System.err);
-		System.err.println("Logging to the console instead.");//$NON-NLS-1$
-		//we failed to write, so dump log entry to console instead
-	try {
-			log = logForStream(System.err);
-			write(status, 0);
-			log.flush();
-		} catch (Exception e2) {
-			System.err.println("An exception occurred while logging to the console:");//$NON-NLS-1$
-			e2.printStackTrace(System.err);
-		}
-	} finally {
-			log = null;
-	}
-}
-protected void openLogFile() {
-	try {
-		log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8"));//$NON-NLS-1$
-		if (newSession) {
-			writeHeader();
-			newSession = false;
-		}
-	} catch (IOException e) {
-		// there was a problem opening the log file so log to the console
-		log = logForStream(System.err);
-	}
-}
-protected void writeHeader() throws IOException {
-	write(SESSION);
-	writeSpace();
-	String date = getDate();
-	write(date);
-	writeSpace();
-	for (int i=SESSION.length()+date.length(); i<78; i++) {
-		write("-");//$NON-NLS-1$
-	}
-	writeln();
-
-	// Write out certain values found in System.getProperties()
-	try {
-		String key = "java.fullversion";//$NON-NLS-1$
-		String value = System.getProperty(key);
-		if (value == null) {
-			key = "java.version";//$NON-NLS-1$
-			value = System.getProperty(key);
-			writeln(key + "=" + value);//$NON-NLS-1$
-			key = "java.vendor";//$NON-NLS-1$
-			value = System.getProperty(key);
-			writeln(key + "=" + value);//$NON-NLS-1$
-		} else {
-			writeln(key + "=" + value);//$NON-NLS-1$
-		}
-	} catch (Exception e) {
-		// If we're not allowed to get the values of these properties
-		// then just skip over them.
-	}
-
-	// The Bootloader has some information that we might be interested in.
-	write("BootLoader constants: OS=" + BootLoader.getOS());//$NON-NLS-1$
-	write(", ARCH=" + BootLoader.getOSArch());//$NON-NLS-1$
-	write(", WS=" + BootLoader.getWS());//$NON-NLS-1$
-	writeln(", NL=" + BootLoader.getNL());//$NON-NLS-1$
-	
-	// Add the command-line arguments used to envoke the platform.
-	String[] args = BootLoader.getCommandLineArgs();
-	if (args != null && args.length > 0) {
-		write("Command-line arguments:");//$NON-NLS-1$
-		for (int i=0; i<args.length; i++) {
-			//mask out the password argument for security
-			if (i > 0 && InternalPlatform.PASSWORD.equals(args[i-1]))
-				write(" (omitted)");//$NON-NLS-1$
-			else
-				write(" " + args[i]);//$NON-NLS-1$
-		}
-		writeln();
-	}
-
-}
-protected String getDate() {
-	try {
-		DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss.SS"); //$NON-NLS-1$
-		return formatter.format(new Date());
-	} catch (Exception e) {
-		// If there were problems writing out the date, ignore and
-		// continue since that shouldn't stop us from losing the rest
-		// of the information
-	}
-	return Long.toString(System.currentTimeMillis());
-}
-protected Writer logForStream(OutputStream output) {
-	try {
-		return new BufferedWriter(new OutputStreamWriter(output, "UTF-8"));//$NON-NLS-1$
-	} catch (UnsupportedEncodingException e) {
-		return new BufferedWriter(new OutputStreamWriter(output));
-	}
-}
-/**
- * Writes the given string to the log, followed by the line terminator string.
- */
-protected void writeln(String s) throws IOException {
-	write(s);
-	writeln();
-}
-/**
- * Shuts down the platform log.
- */
-public synchronized void shutdown() {
-	try {
-		if (logFile != null) {
-			closeLogFile();
-			logFile = null;
-		} else {
-			if (log != null) {
-				Writer old = log;
-				log = null;
-				old.flush();
-				old.close();
-			}
-		}
-	} catch (Exception e) {
-		//we've shutdown the log, so not much else we can do!
-		e.printStackTrace();
-	}
-}
-
-protected void write(Throwable throwable) throws IOException {
-	if (throwable == null)
-		return;
-	write(STACK);
-	writeSpace();
-	boolean isCoreException = throwable instanceof CoreException;
-	if (isCoreException)
-		writeln("1");//$NON-NLS-1$
-	else
-		writeln("0");//$NON-NLS-1$
-	throwable.printStackTrace(new PrintWriter(log));
-	if (isCoreException) {
-	 CoreException e = (CoreException) throwable;
-	 write(e.getStatus(), 0);
-	}
-}
-
-
-protected void write(IStatus status, int depth) throws IOException {
-	if (depth == 0) {
-		write(ENTRY);
-	} else {
-		write(SUBENTRY);
-		writeSpace();
-		write(Integer.toString(depth));
-	}
-	writeSpace();
-	write(status.getPlugin());
-	writeSpace();
-	write(Integer.toString(status.getSeverity()));
-	writeSpace();
-	write(Integer.toString(status.getCode()));
-	writeSpace();
-	write(getDate());
-	writeln();
-
-	write(MESSAGE);
-	writeSpace();
-	writeln(status.getMessage());
-
-	write(status.getException());
-
-	if (status.isMultiStatus()) {
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			write(children[i], depth+1);
-		}
-	}
-}
-
-protected void writeln() throws IOException {
-	write(LINE_SEPARATOR);
-}
-protected void write(String message) throws IOException {
-	if (message != null)
-		log.write(message);
-}
-protected void writeSpace() throws IOException {
-	write(" ");//$NON-NLS-1$
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
deleted file mode 100644
index 680c255..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.*;
-import java.io.*;
-
-public class PlatformMetaArea {
-	IPath location;
-	
-	/* package */ static final String F_DESCRIPTION = ".platform"; //$NON-NLS-1$
-	/* package */ static final String F_META_AREA = ".metadata"; //$NON-NLS-1$
-	/* package */ static final String F_PLUGIN_PATH = ".plugin-path"; //$NON-NLS-1$
-	/* package */ static final String F_PLUGIN_DATA = ".plugins"; //$NON-NLS-1$
-	/* package */ static final String F_REGISTRY = ".registry"; //$NON-NLS-1$
-	/* package */ static final String F_SNAP = ".snap"; //$NON-NLS-1$
-	/* package */ static final String F_LOG = ".log"; //$NON-NLS-1$
-	/* package */ static final String F_BACKUP = ".bak"; //$NON-NLS-1$
-	/* package */ static final String F_OPTIONS = ".options";	 //$NON-NLS-1$
-	/* package */ static final String F_KEYRING = ".keyring"; //$NON-NLS-1$
-	/* package */ static final String F_LOCK_FILE = ".lock"; //$NON-NLS-1$
-	/**
-	 * Internal name of the preference storage file (value
-	 * <code>"pref_store.ini"</code>) in this plug-in's (read-write) state area.
-	 */
-	/* package */ static final String PREFERENCES_FILE_NAME = "pref_store.ini";//$NON-NLS-1$
-
-/**
- * 
- */
-public PlatformMetaArea(IPath location) {
-	super();
-	this.location = location;
-}
-private Properties buildPathProperties(Hashtable paths) {
-	Properties result = new Properties();
-	for (Enumeration keys = paths.keys(); keys.hasMoreElements();) {
-		String key = (String) keys.nextElement();
-		StringBuffer entry = new StringBuffer(100);
-		IPath[] list = (IPath[]) paths.get(key);
-		for (int i = 0; i < list.length; i++) {
-			entry.append(list[i].toOSString());
-			entry.append(";"); //$NON-NLS-1$
-		}
-		result.put(key, entry.toString());
-	}
-	return result;
-}
-/**
- * 
- */
-public void createLocation() throws CoreException {
-	File file = getLocation().toFile();
-	try {
-		file.mkdirs();
-	} catch (Exception e) {
-		String message = Policy.bind("meta.couldNotCreate", file.getAbsolutePath()); //$NON-NLS-1$
-		throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e));
-	}
-	if (!file.canWrite()) {
-		String message = Policy.bind("meta.readonly", file.getAbsolutePath()); //$NON-NLS-1$
-		throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
-	}
-}
-public IPath getBackupFilePathFor(IPath file) {
-	return file.removeLastSegments(1).append(file.lastSegment() + F_BACKUP);
-}
-/**
- * Returns the location of the platform's meta area.
- */
-public IPath getLocation() {
-	return location.append(F_META_AREA);
-}
-/**
- * 
- */
-public IPath getLogLocation() {
-	return getLocation().append(F_LOG);
-}
-/**
- * 
- */
-public IPath getOptionsLocation() {
-	return getLocation().append(F_OPTIONS);
-}
-/**
- * Returns the read/write location of the file for storing plugin preferences.
- */
-public IPath getPluginPreferenceLocation(IPluginDescriptor descriptor, boolean create) {
-	IPath result = getPluginStateLocation(descriptor);
-	if (create)
-		result.toFile().mkdirs();
-	return result.append(PREFERENCES_FILE_NAME);
-}
-/**
- * Returns the read/write location in which the given plugin can manage
- * private state.  
- */
-public IPath getPluginStateLocation(IPluginDescriptor descriptor) {
-	return getLocation().append(F_PLUGIN_DATA).append(descriptor.getUniqueIdentifier());
-}
-/**
- * 
- */
-public IPath getRegistryPath() {
-	return getLocation().append(F_REGISTRY);
-}
-/**
- * 
- */
-public IPath getSnapshotPath() {
-	return getLocation().append(F_SNAP);
-}
-private Hashtable parsePathProperties(Properties props) {
-	Hashtable result = new Hashtable(5);
-	for (Enumeration keys = props.propertyNames(); keys.hasMoreElements();) {
-		String key = (String) keys.nextElement();
-		String entry = props.getProperty(key);
-		Vector list = new Vector(4);
-		for (StringTokenizer tokens = new StringTokenizer(entry, ";"); tokens.hasMoreTokens();) //$NON-NLS-1$
-			list.addElement(new Path(tokens.nextToken()));
-		IPath[] paths = new IPath[list.size()];
-		list.copyInto(paths);
-		result.put(key, paths);
-	}
-	return result;
-}
-public Hashtable readPluginPath(IPath location) throws CoreException {
-	Properties props = new Properties();
-	location = location.append(F_PLUGIN_PATH);
-	IPath tempLocation = getBackupFilePathFor(location);
-	SafeFileInputStream stream = null;
-	try {
-		try {
-			stream = new SafeFileInputStream(location.toOSString(), tempLocation.toOSString());
-			props.load(stream);
-		} finally {
-			if (stream != null)
-				stream.close();
-		}
-	} catch (IOException e) {
-		String message = Policy.bind("meta.readPlatformMeta", location.toString()); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_READ_METADATA, message, e);
-		throw new CoreException (status);
-}
-	return parsePathProperties(props);
-}
-/**
- * @see IWorkbenchProtected#setPluginPath
- */
-public void writePluginPath(Hashtable paths, IPath location) throws CoreException {
-	Properties props = buildPathProperties(paths);
-	location = location.append(F_PLUGIN_PATH);
-	IPath tempLocation = getBackupFilePathFor(location);
-	SafeFileOutputStream stream = null;
-	try {
-		try {
-			stream = new SafeFileOutputStream(location.toOSString(), tempLocation.toOSString());
-			props.store(stream, null);
-		} finally {
-			if (stream != null)
-				stream.close();
-		}
-	} catch (IOException e) {
-		String message = Policy.bind("meta.writePlatformMeta", location.toString()); //$NON-NLS-1$
-		IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e);
-		throw new CoreException (status);
-	}
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
deleted file mode 100644
index f961664..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * Platform URL support
- * platform:/fragment/<fragmentId>/		maps to fragmentDescriptor.getInstallURLInternal()
- */
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
- 
-public class PlatformURLFragmentConnection extends PlatformURLConnection {
-
-	// fragment/ protocol
-	private PluginFragmentModel fd = null;
-	private static boolean isRegistered = false;
-	public static final String FRAGMENT = "fragment"; //$NON-NLS-1$
-public PlatformURLFragmentConnection(URL url) {
-	super(url);
-}
-protected boolean allowCaching() {
-	return true;
-}
-protected URL resolve() throws IOException {
-	String spec = url.getFile().trim();
-	if (spec.startsWith("/"))  //$NON-NLS-1$
-		spec = spec.substring(1);
-	if (!spec.startsWith(FRAGMENT)) 
-		throw new IOException(Policy.bind("url.badVariant", url.toString())); //$NON-NLS-1$
-	int ix = spec.indexOf("/",FRAGMENT.length()+1); //$NON-NLS-1$
-	String ref = ix==-1 ? spec.substring(FRAGMENT.length()+1) : spec.substring(FRAGMENT.length()+1,ix);
-	String id = getId(ref);
-	String vid = getVersion(ref);
-	PluginRegistryModel registry = (PluginRegistryModel)Platform.getPluginRegistry();
-	fd = vid==null ? registry.getFragment(id) : registry.getFragment(id,vid);
-	if (fd == null)
-		throw new IOException(Policy.bind("url.resolveFragment", url.toString())); //$NON-NLS-1$
-	URL result = new URL (fd.getLocation());
-	if (ix == -1 || (ix + 1) >= spec.length()) 
-		return result;
-	else
-		return new URL(result, spec.substring(ix+1));
-}
-
-public static void startup() {
-	
-	// register connection type for platform:/fragment handling
-	if (isRegistered) return;
-	PlatformURLHandler.register(FRAGMENT, PlatformURLFragmentConnection.class);
-	isRegistered = true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
deleted file mode 100644
index e0ca6e5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
deleted file mode 100644
index 6409573..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-
-import org.eclipse.core.internal.boot.PlatformURLHandlerFactory;
-import org.eclipse.core.runtime.*;
- 
-public class PlatformURLPluginHandlerFactory implements URLStreamHandlerFactory {
-
-	IConfigurationElement ce = null;
-	
-	private static final String URL_HANDLERS_POINT = "org.eclipse.core.runtime.urlHandlers"; //$NON-NLS-1$
-	private static final String PROTOCOL = "protocol"; //$NON-NLS-1$
-	private static final String HANDLER = "class"; //$NON-NLS-1$
-public PlatformURLPluginHandlerFactory(IConfigurationElement ce) {
-	super();
-	this.ce = ce;	
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
-	URLStreamHandler handler = null;
-	try {
-		handler = (URLStreamHandler)ce.createExecutableExtension(HANDLER);
-	} catch (CoreException e) {}
-	return handler;
-}
-public static void startup() {
-
-	// register URL handler extensions
-	IPluginRegistry r = Platform.getPluginRegistry();
-	IConfigurationElement[] ce = r.getConfigurationElementsFor(URL_HANDLERS_POINT);
-	String protocol;
-	for (int i=0; i<ce.length; i++) {
-		// register factory elements (actual handlers lazily created on request)
-		protocol = ce[i].getAttribute(PROTOCOL);
-		if (protocol!=null) PlatformURLHandlerFactory.register(protocol,new PlatformURLPluginHandlerFactory(ce[i]));
-	}
-
-	// initialize plugin and fragment connection support
-	PlatformURLPluginConnection.startup();
-	PlatformURLFragmentConnection.startup();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
deleted file mode 100644
index fa49e27..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.*;
-
-/**
- * Contains information about activated plugins and acts as the main 
- * entry point for logging plugin activity.
- */
-
-public class PluginStats {
-	public String pluginId;
-	public int activationOrder;
-	private long timestamp;				//timeStamp at which this plugin has been activated
-	private boolean duringStartup;		// indicate if the plugin has been activated during startup
-	private long startupTime;		// the time took by the plugin to startup
-	private long startupMethodTime;	// the time took to run the startup method
-	
-	// Indicate the position of the activation trace in the file
-	private long traceStart=-1;
-	private long traceEnd =-1;
-
-	//To keep plugins parentage
-	private ArrayList pluginsActivated = new ArrayList(3);		// TODO create lazily
-	private PluginStats activatedBy=null;
-
-	// This connect plugins and their info, and so allows to access the info without running through
-	// the plugin registry. This map only contains activated plugins. The key is the plugin Id
-	private static Map plugins = new HashMap(20);
-	private static Stack activationStack = new Stack(); 		// a stack of the plugins being activated
-	private static boolean booting = true; 						// the state of the platform. This value is changed by the InternalPlatform itself.
-
-	static {
-		// activate the boot plugin manually since we do not control the classloader
-		activateBootPlugin();
-	}
-
-	// hard code the starting of the boot plugin as it does not go through the normal sequence
-	private static void activateBootPlugin() {
-		PluginStats plugin = findPlugin(BootLoader.PI_BOOT);
-		plugin.setTimestamp(System.currentTimeMillis());
-		plugin.setActivationOrder(plugins.size());
-	}
-		
-	public static void startActivation(String pluginId) {
-		// should be called from a synchronized location to protect against concurrent updates
-		PluginStats plugin = findPlugin(pluginId);
-		plugin.setTimestamp(System.currentTimeMillis());
-		plugin.setActivationOrder(plugins.size());
-
-		// set the parentage of activation
-		if (activationStack.size() != 0) {
-			PluginStats activatedBy = (PluginStats) activationStack.peek();
-			activatedBy.activated(plugin);
-			plugin.setActivatedBy(activatedBy);
-		}
-		activationStack.push(plugin);
-
-		if (DelegatingURLClassLoader.TRACE_PLUGINS) {
-			traceActivate(pluginId, plugin);
-		}
-	}
-
-	private static void traceActivate(String id, PluginStats plugin) {
-		try {
-			PrintWriter output = new PrintWriter(new FileOutputStream(ClassloaderStats.traceFile.getAbsolutePath(), true));
-			try {
-				long startPosition = ClassloaderStats.traceFile.length();
-				output.println("Activating plugin: " + id); //$NON-NLS-1$
-				output.println("Plugin activation stack:"); //$NON-NLS-1$
-				for (int i = activationStack.size() - 1; i >= 0 ; i--)
-					output.println("\t" + ((PluginStats)activationStack.get(i)).getPluginId()); //$NON-NLS-1$
-				output.println("Class loading stack:"); //$NON-NLS-1$
-				Stack classStack = ClassloaderStats.getClassStack();
-				for (int i = classStack.size() - 1; i >= 0 ; i--)
-					output.println("\t" + ((ClassStats) classStack.get(i)).getClassName()); //$NON-NLS-1$
-				output.println("Stack trace:"); //$NON-NLS-1$
-				new Throwable().printStackTrace(output);
-				plugin.setTraceStart(startPosition);
-			} finally {
-				output.close();
-				plugin.setTraceEnd(ClassloaderStats.traceFile.length());
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static void endActivation(String pluginId) {
-		// should be called from a synchronized location to protect against concurrent updates
-		if (!DelegatingURLClassLoader.MONITOR_PLUGINS)
-			return;
-		PluginStats plugin = (PluginStats) activationStack.pop();
-		plugin.endActivation();
-	}
-
-	// Get the pluginInfo if available, or create it.
-	private static PluginStats findPlugin(String id) {
-		PluginStats result = (PluginStats)plugins.get(id);
-		if (result == null) {
-			result = new PluginStats(id);
-			plugins.put(id, result);
-		}
-		return (PluginStats)result;
-	}
-
-	public static PluginStats[] getPlugins() {
-		return (PluginStats[])plugins.values().toArray(new PluginStats[plugins.size()]);
-	}
-
-	static public PluginStats getPlugin(String id) {
-		return (PluginStats) plugins.get(id);
-	}
-
-	private PluginStats(String pluginId) {
-		this.pluginId = pluginId;
-		duringStartup = booting;
-	}
-
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	public int getActivationOrder() {
-		return activationOrder;
-	}
-
-	private void activated(PluginStats plugin) {
-		pluginsActivated.add(plugin);
-	}
-
-	public PluginStats getActivatedBy() {
-		return activatedBy;
-	}
-
-	public String getPluginId() {
-		return pluginId;
-	}
-
-	public long getStartupTime() {
-		return startupTime;
-	}
-
-	public long getStartupMethodTime() {
-		return startupMethodTime;
-	}
-
-	public boolean isStartupPlugin() {
-		return duringStartup;
-	}
-
-	public int getClassLoadCount() {
-		if (!DelegatingURLClassLoader.MONITOR_CLASSES)
-			return 0;
-		ClassloaderStats loader = ClassloaderStats.getLoader(pluginId);
-		return loader == null ? 0 : loader.getClassLoadCount();
-	}
-
-	public long getClassLoadTime() {
-		if (!DelegatingURLClassLoader.MONITOR_CLASSES)
-			return 0;
-		ClassloaderStats loader = ClassloaderStats.getLoader(pluginId);
-		return loader == null ? 0 : loader.getClassLoadTime();
-	}
-
-	public ArrayList getPluginsActivated() {
-		return pluginsActivated;
-	}
-
-	public long getTraceStart() {
-		return traceStart;
-	}
-
-	public long getTraceEnd() {
-		return traceEnd;
-	}
-
-	private  void setTimestamp(long value) {
-		timestamp = value;
-	}
-
-	private void setActivationOrder(int value) {
-		activationOrder = value;
-	}
-
-	private void setTraceStart(long time) {
-		traceStart = time;
-	}
-
-	public static void setBooting(boolean boot) {
-		booting = boot;
-	}
-
-	private void endActivation() {
-		startupTime = System.currentTimeMillis() - timestamp;
-	}
-
-	private void setTraceEnd(long position) {
-		traceEnd = position;
-	}
-
-	private void setStartupMethodTime(long time) {
-		startupMethodTime = time;
-	}
-
-	private void setActivatedBy(PluginStats value) {
-		activatedBy = value;
-	}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
deleted file mode 100644
index 8d0ed6a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.text.MessageFormat;
-import java.util.*;
-
-public class Policy {
-	private static String bundleName = "org.eclipse.core.internal.runtime.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
-
-/**
- * Lookup the message with the given ID in this catalog 
- */
-public static String bind(String id) {
-	return bind(id, (String[])null);
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string.
- */
-public static String bind(String id, String binding) {
-	return bind(id, new String[] {binding});
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given strings.
- */
-public static String bind(String id, String binding1, String binding2) {
-	return bind(id, new String[] {binding1, binding2});
-}
-
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string values.
- */
-public static String bind(String id, String[] bindings) {
-	if (id == null)
-		return "No message available";//$NON-NLS-1$
-	String message = null;
-	try {
-		message = bundle.getString(id);
-	} catch (MissingResourceException e) {
-		// If we got an exception looking for the message, fail gracefully by just returning
-		// the id we were looking for.  In most cases this is semi-informative so is not too bad.
-		return "Missing message: " + id + " in: " + bundleName;//$NON-NLS-1$ //$NON-NLS-2$
-	}
-	if (bindings == null)
-		return message;
-	return MessageFormat.format(message, bindings);
-}
-public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
-	if (monitor == null)
-		return new NullProgressMonitor();
-	return monitor;
-}
-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
-	if (monitor == null)
-		return new NullProgressMonitor();
-	if (monitor instanceof NullProgressMonitor)
-		return monitor;
-	return new SubProgressMonitor(monitor, ticks);
-}
-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-	if (monitor == null)
-		return new NullProgressMonitor();
-	if (monitor instanceof NullProgressMonitor)
-		return monitor;
-	return new SubProgressMonitor(monitor, ticks, style);
-}
-/**
- * Print a debug message to the console. If the given boolean is <code>true</code> then
- * pre-pend the message with the current date.
- */
-public static void debug(boolean includeDate, String message) {
-	if (includeDate) 
-		message = new Date(System.currentTimeMillis()).toString() + " - "+ message; //$NON-NLS-1$
-	System.out.println(message);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
deleted file mode 100644
index 6f06fc2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * Utility class for exporting and importing the complete set of user-defined
- * preferences for all plugins in the platform.  The global preference file
- * is written in the following format:
- * 
- * <plugin-id1>=<plugin-version1>
- * <plugin-id1>/<property-key1>=<property-value1>
- * <plugin-id1>/<property-key2>=<property-value2>
- * ...
- * <plugin-id2>=<plugin-version2>
- * <plugin-id2>/<property-key1>=<property-value1>
- * <plugin-id2>/<property-key2>=<property-value2>
- * ...
- */
-public class PreferenceExporter {
-	/**
-	 * The character that separates the plug-in id from the property key.
-	 */
-	private static final char PLUGIN_SEPARATOR = '/';
-
-	/**
-	 * @see Preferences#exportPreferences
-	 */
-	public static void exportPreferences(IPath file) throws CoreException {
-		//collect all plugin preferences into a single global preference object
-		Preferences globalPreferences = new Preferences();
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		for (int i = 0; i < descriptors.length; i++) {
-			IPluginDescriptor descriptor = descriptors[i];
-			//save current preferences to ensure most recent values are exported
-			if (descriptor.isPluginActivated()) {
-				descriptor.getPlugin().savePluginPreferences();
-			}
-			//now merge the plugin preferences into the global preference object
-			if (mergePluginPreferences(descriptor, globalPreferences)) {
-				//write the property that indicates the plugin version
-				globalPreferences.setValue(descriptor.getUniqueIdentifier(), descriptor.getVersionIdentifier().toString());
-			}
-
-		}
-		storePreferences(file, globalPreferences);
-	}
-	/**
-	 * @see Preferences#importPreferences
-	 */
-	public static void importPreferences(IPath file) throws CoreException {
-		if (!file.toFile().exists()) {
-			String msg = Policy.bind("preferences.fileNotFound", file.toOSString()); //$NON-NLS-1$
-			throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, null));
-		}
-		Map idsToPreferences = splitPreferences(file);
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		for (int i = 0; i < descriptors.length; i++) {
-			setPluginPreferences(descriptors[i],
-				(Preferences) idsToPreferences.get(descriptors[i].getUniqueIdentifier()));
-		}
-	}
-	/**
-	 * Loads preferences from the given file into the provided preferences instance.
-	 * Returns the preferences instance.
-	 */
-	private static Preferences loadPreferences(IPath properties, Preferences preferences) throws CoreException {
-		File propertiesFile = properties.toFile();
-		if (propertiesFile.exists()) {
-			InputStream in = null;
-			try {
-				in = new BufferedInputStream(new FileInputStream(propertiesFile));
-				preferences.load(in);
-			} catch (IOException e) {
-				String msg = Policy.bind("preferences.errorReading", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
-				throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
-			} catch (IllegalArgumentException e) {
-				//properties.load throws IllegalArgumentException if the file encoding is wrong
-				String msg = Policy.bind("preferences.errorReading", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
-				throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
-			} finally {
-				if (in != null) {
-					try {
-						in.close();
-					} catch (IOException e) {
-						//ignore failure to close
-					}
-				}
-			}
-		}
-		return preferences;
-	}
-	/**
-	 * Adds all preferences for the given plugin descriptor to the provided
-	 * preferences instance.  Returns true if any properties were added,
-	 * and false otherwise.
-	 */
-	private static boolean mergePluginPreferences(IPluginDescriptor descriptor, Preferences preferences) throws CoreException {
-		boolean found = false;
-		IPath propertiesFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false);
-		if (propertiesFile.toFile().exists()) {
-			Preferences pluginPreferences = loadPreferences(propertiesFile, new Preferences());
-			String pluginId = descriptor.getUniqueIdentifier();
-			String[] keys = pluginPreferences.propertyNames();
-			found = keys.length > 0;
-			for (int i = 0; i < keys.length; i++) {
-				String longKey = pluginId + PLUGIN_SEPARATOR + keys[i];
-				preferences.setValue(longKey, pluginPreferences.getString(keys[i]));
-			}
-		}
-		return found;
-	}
-
-
-	/**
-	 * Sets the given preferences as the preferences for the plugin with the
-	 * given descriptor, overwriting any previously defined preferences.  If
-	 * the given preferences is null, all values are returned to their default value.
-	 */
-	private static void setPluginPreferences(IPluginDescriptor descriptor, Preferences newPreferences) throws CoreException {
-		IPath location = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false);
-		if (descriptor.isPluginActivated()) {
-			Plugin plugin = descriptor.getPlugin();
-			if (plugin != null) {
-				Preferences oldPreferences = plugin.getPluginPreferences();
-				//remove all old values
-				String[] keys = oldPreferences.propertyNames();
-				for (int i = 0; i < keys.length; i++) {
-					keys[i] = keys[i].intern();
-					oldPreferences.setToDefault(keys[i]);
-				}
-				//add new values
-				if (newPreferences != null) {
-					keys = newPreferences.propertyNames();
-					for (int i = 0; i < keys.length; i++) {
-						keys[i] = keys[i].intern();
-						oldPreferences.setValue(keys[i], newPreferences.getString(keys[i]));
-					}
-				}
-				//save the preferences file
-				storePreferences(location, oldPreferences);
-			}
-		} else {
-			//if the plugin isn't loaded, just save the preferences file directly
-			storePreferences(location, newPreferences);
-		}
-	}
-	/**
-	 * Splits up a global preference file into preferences for each plugin
-	 * descriptor.  Returns a map of plugin IDs to Preferences objects
-	 * for that plugin.
-	 */
-	private static Map splitPreferences(IPath file) throws CoreException {
-		Preferences globalPreferences = loadPreferences(file, new Preferences());
-		validatePreferenceFileFormat(globalPreferences);
-		Map idsToPreferences = new HashMap();
-		String[] keys = globalPreferences.propertyNames();
-		for (int i = 0; i < keys.length; i++) {
-			String longKey = keys[i];
-			int index = longKey.indexOf(PLUGIN_SEPARATOR);
-			if (index >= 0) {
-				String pluginId = longKey.substring(0, index);
-				String key = longKey.substring(index + 1);
-				Preferences preferences = (Preferences) idsToPreferences.get(pluginId);
-				if (preferences == null) {
-					preferences = new Preferences();
-					idsToPreferences.put(pluginId, preferences);
-				}
-				preferences.setValue(key, globalPreferences.getString(longKey));
-			}
-		}
-		return idsToPreferences;
-	}
-
-
-
-
-	/**
-	 * Writes the given preferences to the given file.  If the preferences are
-	 * null or empty, the file is deleted.
-	 */
-	private static void storePreferences(IPath destination, Preferences preferences) throws CoreException {
-		File propertiesFile = destination.toFile();
-		if (preferences == null || preferences.propertyNames().length == 0) {
-			propertiesFile.delete();
-			return;
-		}
-		File parent = propertiesFile.getParentFile();
-		if (!parent.exists()) {
-			parent.mkdirs();
-		}
-		OutputStream out = null;
-		try {
-			out = new BufferedOutputStream(new FileOutputStream(propertiesFile));
-			preferences.store(out, null);
-		} catch (IOException e) {
-			String msg = Policy.bind("preferences.errorWriting", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
-			throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
-		} finally {
-			if (out != null) {
-				try {
-					out.close();
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-	/**
-	 * Compares two plugin version identifiers to see if their preferences
-	 * are compatible.  If they are not compatible, a warning message is 
-	 * added to the given multistatus, according to the following rules:
-	 * 
-	 * - plugins that differ in service number: no status
-	 * - plugins that differ in minor version: WARNING status
-	 * - plugins that differ in major version:
-	 * 	- where installed plugin is newer: WARNING status
-	 * 	- where installed plugin is older: ERROR status
-	 * @param pref The version identifer of the preferences to be loaded
-	 * @param installed The version identifier of the installed plugin
-	 */
-	private static void validatePluginVersions(
-		String pluginId,
-		PluginVersionIdentifier pref,
-		PluginVersionIdentifier installed,
-		MultiStatus result) {
-
-		if (installed.getMajorComponent() == pref.getMajorComponent() &&
-			installed.getMinorComponent() == pref.getMinorComponent()) {
-			return;
-		}
-		int severity;
-		if (installed.getMajorComponent() < pref.getMajorComponent()) {
-			severity = IStatus.ERROR;
-		} else {
-			severity = IStatus.WARNING;
-		}
-		String msg = Policy.bind("preferences.incompatible", new String[] { //$NON-NLS-1$
-			pref.toString(), pluginId, installed.toString()});
-		result.add(new Status(severity, Platform.PI_RUNTIME, 1, msg, null));
-	}
-	/**
-	 * Throws an exception if the supplied preferences do not comply
-	 * with the preference export file format.
-	 */
-	private static void validatePreferenceFileFormat(Preferences preferences) throws CoreException {
-		String[] names = preferences.propertyNames();
-		for (int i = 0; i < names.length; i++) {
-			String pluginId = null;
-			int separator = names[i].indexOf(PLUGIN_SEPARATOR);
-			if (separator >= 0) {
-				//should be of the form <plugin-id>/<key>=<value>
-				pluginId = names[i].substring(0, separator);
-				//ensure there is a corresponding plugin version property
-				String versionId = preferences.getString(pluginId);
-				if (versionId == null || versionId.length() == 0) {
-					String msg = Policy.bind("preferences.invalidProperty", names[i], //$NON-NLS-1$ 
-						preferences.getString(names[i]));
-					throw new CoreException(
-						new Status(IStatus.ERROR, Platform.PI_RUNTIME, 0, msg, null));
-				}
-			} else {
-				//should be of the form <plugin-id>=<plugin-version-id>
-				pluginId = names[i];
-				//verify that the versionId has the correct format
-				String versionId = preferences.getString(pluginId);
-				if (!PluginVersionIdentifier.validateVersion(versionId).isOK()) {
-					String msg = Policy.bind("preferences.invalidProperty", names[i], //$NON-NLS-1$
-						preferences.getString(names[i]));
-					throw new CoreException(
-						new Status(IStatus.ERROR, Platform.PI_RUNTIME, 0, msg, null));
-				}
-			}
-		}
-	}
-	/**
-	 * @see Preferences#validatePreferenceVersions
-	 */
-	public static IStatus validatePreferenceVersions(IPath file) {
-		String msg = Policy.bind("preferences.validate"); //$NON-NLS-1$
-		MultiStatus result = new MultiStatus(Platform.PI_RUNTIME, 1, msg, null);
-		Preferences globalPreferences = null;
-		try {
-			globalPreferences = loadPreferences(file, new Preferences());
-		} catch (CoreException e) {
-			return e.getStatus();
-		}
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		String[] keys = globalPreferences.propertyNames();
-		for (int i = 0; i < keys.length; i++) {
-			String pluginId = keys[i];
-			//if the key does not contain the separator character, it is a plugin version property
-			if (pluginId.indexOf(PLUGIN_SEPARATOR) < 0) {
-				IPluginDescriptor descriptor = registry.getPluginDescriptor(pluginId);
-				if (descriptor != null) {
-					String version = globalPreferences.getString(pluginId);
-					if (PluginVersionIdentifier.validateVersion(version).isOK()) {
-						PluginVersionIdentifier preferenceVersion = new PluginVersionIdentifier(version);
-						PluginVersionIdentifier installedVersion = descriptor.getVersionIdentifier();
-						validatePluginVersions(pluginId, preferenceVersion, installedVersion, result);
-					}
-				}
-			}
-		}
-		return result;
-	}
-}
-
-
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
deleted file mode 100644
index f80fc64..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-/**
- * Given a target and a temporary locations, it tries to read the contents
- * from the target. If a file does not exist at the target location, it tries
- * to read the contents from the temporary location.
- *
- * @see SafeFileOutputStream
- */
-public class SafeFileInputStream extends FilterInputStream {
-	protected static final String EXTENSION = ".bak"; //$NON-NLS-1$
-public SafeFileInputStream(File file) throws IOException {
-	this(file.getAbsolutePath(), null);
-}
-public SafeFileInputStream(String targetName) throws IOException {
-	this(targetName, null);
-}
-/**
- * If targetPath is null, the file will be created in the default-temporary directory.
- */
-public SafeFileInputStream(String targetPath, String tempPath) throws IOException {
-	super(getInputStream(targetPath, tempPath));
-}
-private static InputStream getInputStream(String targetPath, String tempPath) throws IOException {
-	File target = new File(targetPath);
-	if (!target.exists()) {
-		if (tempPath == null)
-			tempPath = target.getAbsolutePath() + EXTENSION;
-		target = new File(tempPath);
-	}
-	return new BufferedInputStream(new FileInputStream(target));
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
deleted file mode 100644
index 8a24dcf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
deleted file mode 100644
index fe4fbae..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-
-/**
- * A utility for manipulating <code>URL</code>s.
- */
-public class URLTool {
-/**
- * Returns the given URL with a trailing slash appended to it. If the URL
- * already has a trailing slash the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Returned URL</th>
- * <tr>
- *   <td>"http://hostname/folder"</td>
- *   <td>"http://hostname/folder/"</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>"http://hostname/folder/"</td>
- * </table>
- *
- * @param url a URL
- * @return    the given URL with a trailing slash
- * @throws    MalformedURLException if the given URL is malformed
- */
-public static URL appendTrailingSlash(String url) throws MalformedURLException {
-	return appendTrailingSlash(new URL(url));
-}
-/**
- * Returns the given <code>URL</code> with a trailing slash appended to
- * it. If the <code>URL</code> already has a trailing slash the
- * <code>URL</code> is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Returned URL</th>
- * <tr>
- *   <td>"http://hostname/folder"</td>
- *   <td>"http://hostname/folder/"</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>"http://hostname/folder/"</td>
- * </table>
- *
- * @param url a URL
- * @return    the given URL with a trailing slash
- */
-public static URL appendTrailingSlash(URL url){
-	String file = url.getFile();
-	if (file.endsWith("/")) //$NON-NLS-1$
-		return url;
-	try {
-		return new URL(url.getProtocol(), url.getHost(), url.getPort(), file + "/"); //$NON-NLS-1$
-	} catch(MalformedURLException e){
-		Assert.isTrue(false, "internal error"); //$NON-NLS-1$
-	}
-	return null;
-}
-/**
- * Returns the child URL formed by joining the given member with the
- * given parent URL.
- *
- * @return a child URL of the given parent
- * @throws MalformedURLException if the given parent is malformed
- */
-public static URL getChild(String parent, String member) throws MalformedURLException {
-	return getChild(new URL(parent), member);
-}
-/**
- * Returns the child URL formed by joining the given member with the
- * given parent URL.
- *
- * @return a child URL of the given parent
- */
-public static URL getChild(URL parent, String member){
-	String file = parent.getFile();
-	if (!file.endsWith("/")) //$NON-NLS-1$
-		file = file + "/"; //$NON-NLS-1$
-	try {
-		return new URL(parent.getProtocol(), parent.getHost(), parent.getPort(), file + member);
-	} catch(MalformedURLException e){
-		Assert.isTrue(false, "internal error"); //$NON-NLS-1$
-	}
-	return null;
-}
-/**
- * Returns all elements in the given URLs path.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Element</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>[]</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>[folder]</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>[folder, file]</td>
- * </table>
- * @param url a URL
- * @return    all elements in the given URLs path
- * @throws    MalformedURLException if the given URL is malformed
- */
-public static Vector getElements(String url) throws MalformedURLException {
-	return getElements(new URL(url));
-}
-/**
- * Returns all elements in the given URLs path.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Element</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>[]</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>[folder]</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>[folder, file]</td>
- * </table>
- * @param url a URL
- * @return    all elements in the given URLs path
- */
-public static Vector getElements(URL url){
-	Vector result = new Vector(5);
-	String lastElement = null;
-	while((lastElement = getLastElement(url)) != null){
-		result.insertElementAt(lastElement, 0);
-		url = getParent(url);
-	}
-	return result;
-}
-/**
- * Returns the last element in the given URLs path, or <code>null</code>
- * if the URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Last Element</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>null</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>folder</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>file</td>
- * </table>
- * @param url a URL
- * @return    the last element in the given URLs path, or
- *            <code>null</code> if the URL is the root
- * @throws    MalformedURLException if the given URL is malformed
- */
-public static String getLastElement(String url) throws MalformedURLException {
-	return getLastElement(new URL(url));
-}
-/**
- * Returns the last element in the given URLs path, or <code>null</code>
- * if the URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Last Element</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>null</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>folder</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>file</td>
- * </table>
- * @param url a URL
- * @return    the last element in the given URLs path, or
- *            <code>null</code> if the URL is the root
- */
-public static String getLastElement(URL url){
-	String file = url.getFile();
-	int len = file.length();
-	if (len == 0 || len == 1 && file.charAt(0) == '/')
-		return null;
-
-	int lastSlashIndex = -1;
-	for(int i = len - 2; lastSlashIndex == -1 && i >= 0; --i) {
-		if (file.charAt(i) == '/')
-			lastSlashIndex = i;
-	}
-	boolean isDirectory = file.charAt(len - 1) == '/';
-	if (lastSlashIndex == -1) {
-		if (isDirectory){
-			return file.substring(0, len - 1);
-		} else {
-			return file;
-		}
-	} else {
-		if (isDirectory) {
-			return file.substring(lastSlashIndex + 1, len - 1);
-		} else {
-			return file.substring(lastSlashIndex + 1, len);
-		}
-	}
-}
-/**
- * Returns the parent URL of the given URL, or <code>null</code> if the
- * given URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Parent URL</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>null</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>"http://hostname/folder/</td>
- * </table>
- *
- * @param url a URL
- * @return    the parent of the given URL
- * @throws    MalformedURLException if the given URL is malformed
- */
-public static URL getParent(String url) throws MalformedURLException {
-	return getParent(new URL(url));
-}
-/**
- * Returns the parent URL of the given URL, or <code>null</code> if the
- * given URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Parent URL</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>null</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>"http://hostname/folder/</td>
- * </table>
- *
- * @param url a URL
- * @return    the parent of the given URL
- */
-public static URL getParent(URL url) {
-	String file = url.getFile();
-	int len = file.length();
-	if (len == 0 || len == 1 && file.charAt(0) == '/')
-		return null;
-	int lastSlashIndex = -1;
-	for (int i = len - 2; lastSlashIndex == -1 && i >= 0; --i){
-		if (file.charAt(i) == '/')
-			lastSlashIndex = i;
-	}
-	if (lastSlashIndex == -1)
-		file = ""; //$NON-NLS-1$
-	else
-		file = file.substring(0, lastSlashIndex + 1);
-
-	try {
-		url = new URL(url.getProtocol(), url.getHost(), url.getPort(), file);
-	} catch(MalformedURLException e){
-		Assert.isTrue(false, e.getMessage());
-	}
-	return url;
-}
-/**
- * Returns the root URL of the given URL.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Root URL</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>"http://hostname/"</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>"http://hostname/"</td>
- * </table>
- *
- * @param urlString a URL
- * @return          the root url of the given URL
- * @throws          MalformedURLException if the given URL is malformed
- */
-public static URL getRoot(String urlString) throws MalformedURLException {
-	return getRoot(new URL(urlString));
-}
-/**
- * Returns the root URL of the given URL.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Root URL</th>
- * <tr>
- *   <td>"http://hostname/"</td>
- *   <td>"http://hostname/"</td>
- * <tr>
- *   <td>"http://hostname/folder/file</td>
- *   <td>"http://hostname/"</td>
- * </table>
- *
- * @param url a URL
- * @return    the root URL of the given URL
- */
-public static URL getRoot(URL url) {
-	try {
-		return new URL(url.getProtocol(), url.getHost(), url.getPort(), "/"); //$NON-NLS-1$
-	} catch(MalformedURLException e){
-		Assert.isTrue(false, "internal error"); //$NON-NLS-1$
-	}
-
-	return null;
-}
-/**
- * Returns the given URL with its trailing slash removed. If the URL has
- * no trailing slash, the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Returned URL</th>
- * <tr>
- *   <td>"http://hostname/folder"</td>
- *   <td>"http://hostname/folder"</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>"http://hostname/folder"</td>
- * </table>
- *
- * @param url a URL
- * @return    the given URL with its last slash removed
- * @throws    MalformedURLException if the given URL is malformed
- */
-public static URL removeTrailingSlash(String url) throws MalformedURLException {
-	return removeTrailingSlash(new URL(url));
-}
-/**
- * Returns the given URL with its trailing slash removed. If the URL has
- * no trailing slash, the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>Given URL</th>
- *   <th>Returned URL</th>
- * <tr>
- *   <td>"http://hostname/folder"</td>
- *   <td>"http://hostname/folder"</td>
- * <tr>
- *   <td>"http://hostname/folder/</td>
- *   <td>"http://hostname/folder"</td>
- * </table>
- *
- * @param url a URL
- * @return    the given URL with its last slash removed
- */
-public static URL removeTrailingSlash(URL url) {
-	String file = url.getFile();
-
-	if(file.endsWith("/")){ //$NON-NLS-1$
-		file = file.substring(0, file.length() - 1);
-		try {
-			return new URL(
-				url.getProtocol(),
-				url.getHost(),
-				url.getPort(),
-				file);
-		} catch(MalformedURLException e){
-			Assert.isTrue(false, e.getMessage());
-		}
-	} else {
-		return url;
-	}
-
-	return null;
-}
-/**
- * Returns a boolean indicating whether the given URLs overlap.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>First URL</th>
- *   <th>Second URL</th>
- *   <th>Do they overlap</th>
- * <tr>
- *   <td>"http://hostname/folder/"</td>
- *   <td>"http://hostname/folder/"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder/"</td>
- *   <td>"http://hostname/folder/file"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder/file"</td>
- *   <td>"http://hostname/folder/"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder1/"</td>
- *   <td>"http://hostname/folder2/"</td>
- *   <td>false</td>
- * </table>
- * @param  url1 firt URL
- * @param  url2 second URL
- * @return a boolean indicating whether the given URLs overlap
- */
-public static boolean urlsOverlap(String url1, String url2) throws MalformedURLException {
-	return urlsOverlap(new URL(url1), new URL(url2));
-}
-/**
- * Returns a boolean indicating whether the given URLs overlap.
- * <table>
- * <caption>Example</caption>
- * <tr>
- *   <th>First URL</th>
- *   <th>Second URL</th>
- *   <th>Do they overlap</th>
- * <tr>
- *   <td>"http://hostname/folder/"</td>
- *   <td>"http://hostname/folder/"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder/"</td>
- *   <td>"http://hostname/folder/file"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder/file"</td>
- *   <td>"http://hostname/folder/"</td>
- *   <td>true</td>
- * <tr>
- *   <td>"http://hostname/folder1/"</td>
- *   <td>"http://hostname/folder2/"</td>
- *   <td>false</td>
- * <tr>
- *   <td>"http://hostname1/folder/"</td>
- *   <td>"http://hostname2/folder/"</td>
- *   <td>false</td>
- * </table>
- * @param  url1 firt URL
- * @param  url2 second URL
- * @return a boolean indicating whether the given URLs overlap
- */
-public static boolean urlsOverlap(URL url1, URL url2){
-	if(!getRoot(url1).equals(getRoot(url2))){
-		return false;
-	}
-
-	Vector elements1 = URLTool.getElements(url1);
-	Vector elements2 = URLTool.getElements(url2);
-
-	for(int i = 0; i < elements1.size() && i < elements2.size(); ++i){
-		String element1 = (String)elements1.elementAt(i);
-		String element2 = (String)elements2.elementAt(i);
-		if(!element1.equals(element2)){
-			return false;
-		}
-	}
-
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
deleted file mode 100644
index b3a1097..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
+++ /dev/null
@@ -1,109 +0,0 @@
-### Runtime plugin message catalog
-
-ok = OK
-
-### plugins
-plugin.extDefNotFound = Executable extension definition for \"{0}\" not found.
-plugin.extDefNoClass = Executable extension definition \"{0}\" does not specify a class name.
-plugin.deactivatedLoad = Attempt to load class \"{0}\" from deactivated plug-in \"{1}\".
-plugin.loadClassError = Plug-in {0} was unable to load class {1}.
-plugin.instantiateClassError = Plug-in \"{0}\" was unable to instantiate class \"{1}\".
-plugin.initObjectError = Plug-in \"{0}\" was unable to execute setInitializationData on an instance of \"{1}\".
-plugin.bundleNotFound = Plug-in \"{0}\" could not find resource bundle \"{1}\".
-plugin.notPluginClass = Supplied runtime class \"{0}\" does not extend class Plugin.
-plugin.startupProblems = Problems encountered starting up plug-in: \"{0}\".
-plugin.pluginDisabled = Attempt to activate a disabled plug-in: \"{0}\".
-plugin.unableToResolve = Unable to resolve plug-in registry.
-plugin.mismatchRuntime = Runtime class declaration mismatch for plug-in: \"{0}\".
-plugin.delegatingLoaderTrouble = "Plug-in \"{0}\" activation failed while loading class \"{1}\".
-
-### parsing/resolve
-parse.error = Parsing error: \"{0}\".
-parse.errorProcessing = Error while processing \"{0}\".
-parse.errorNameLineColumn = Parsing error in \"{0}\" [line {1}, column {2}]: \"{3}\".
-parse.extPointUnknown = Unknown extension point \"{0}\" specified in plug-in \"{1}\".
-parse.extPointDisabled = Extension point \"{0}\" specified in plug-in \"{1}\" is disabled.
-parse.prereqDisabled = Plug-in \"{0}\" was disabled due to missing or disabled prerequisite plug-in \"{1}\".
-parse.unsatisfiedPrereq = Unable to satisfy prerequisite constraint from \"{0}\" to \"{1}\".
-parse.prereqLoop = Detected prerequisite loop from \"{0}\" to \"{1}\".
-parse.registryProblems = Problems encountered loading the plug-in registry.
-parse.fragmentMissingAttr = Fragment \"{0}\" ignored due to missing attributes.
-parse.fragmentMissingIdName = Fragment ignored due to missing attributes (including name and id).
-parse.pluginMissingAttr = Plug-in \"{0}\" disabled due to missing attributes.
-parse.pluginMissingIdName = Plug-in disabled due to missing attributes (including name and id).
-parse.unknownElement = Unknown element \"{1}\", found within a \"{0}\", ignored.
-parse.unknownTopElement = Unknown element \"{0}\", found at the top level, ignored.
-parse.initializationTrouble = Parser initialization using setFeature failed.
-parse.internalStack = Element/end element mismatch for element \"{0}\".
-parse.validMatch = \"{0}\" is not a valid value for the attribute \"match\".   Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".
-parse.validExport = \"{0}\" is not a valid value for the attribute \"export\".   Use \"true\" or \"false\".
-parse.unknownAttribute = Unknown attribute \"{1}\" for element \"{0}\" ignored.
-parse.missingFragmentPd = Plug-in descriptor \"{0}\" not found for fragment \"{1}\".  Fragment ignored.
-parse.unsatisfiedOptPrereq = Optional prerequisite constraint from \"{0}\" to\" {1}\" ignored.
-parse.prereqOptLoop = Optional prerequisite from \"{0}\" to \"{1}\" produced loop.  Prerequisite ignored.
-parse.unknownLibraryType = Unknown library type \"{0}\" for library \"{1}\".
-parse.duplicatePlugin= Two plug-ins found with the same id: \"{0}\". Ignoring duplicate at \"{1}\".
-parse.unknownEntry=Unknown element parsed by plug-in registry: \"{0}\".
-parse.nullPluginIdentifier=Plug-in not loaded due to missing id or version number: \"{0}\".
-parse.nullFragmentIdentifier=Fragment not loaded due to missing id or version number: \"{0}\".
-parse.missingPluginName=Name attribute missing from plug-in or fragment at \"{0}\".
-parse.missingPluginId=Id attribute missing from plug-in or fragment at \"{0}\".
-parse.missingPluginVersion=Version attribute missing from plug-in or fragment at \"{0}\".
-parse.missingFPName=Plug-in name attribute missing from fragment at \"{0}\".
-parse.missingFPVersion=Plug-in version attribute missing from fragment at \"{0}\".
-parse.postiveMajor=Plug-in version identifier, \"{0}\", must have a positive major (1st) component.
-parse.postiveMinor=Plug-in version identifier, \"{0}\", must have a positive minor (2nd) component.
-parse.postiveService=Plug-in version identifier, \"{0}\", must have a positive service (3rd) component.
-parse.emptyPluginVersion=A plug-in version identifier must be non-empty.
-parse.separatorStartVersion=Plug-in version identifier, \"{0}\", must not start with a separator character.
-parse.separatorEndVersion=Plug-in version identifier, \"{0}\", must not end with a separator character.
-parse.doubleSeparatorVersion=Plug-in version identifier, \"{0}\", must not contain two consecutive separator characters.
-parse.oneElementPluginVersion=Plug-in version identifier, \"{0}\", must contain at least one component.
-parse.fourElementPluginVersion=Plug-in version identifier, \"{0}\", can contain a maximum of four components.
-parse.numericMajorComponent=The major (1st) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.numericMinorComponent=The minor (2nd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.numericServiceComponent=The service (3rd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.badPrereqOnFrag=Fragment \"{0}\" requires non-existant plug-in \"{1}\".  Fragment ignored.
-parse.duplicateFragment=Duplicate fragment found with id \"{0}\" and version \"{1}\".
-
-### metadata
-meta.appNotInit = The application has not been initialized.
-meta.authFormatChanged = The platform's authorization database file format has changed.  Cached authorization information will be lost.
-meta.couldNotCreate = Error trying to create the platform metadata area: {0}.
-meta.exceptionParsingLog = An exception occurred while parsing the log file: {0}
-meta.failCreateLock = Unable to create platform lock file: {0}.
-meta.inUse = \nThe platform metadata area is already in use by another platform instance, or there was a failure\n\
-	in deleting the old lock file.  If no other platform instances are running, delete the \n\
-	lock file ({0}) and try starting the platform again.
-meta.notDir = Specified platform location \"{0}\" is not a directory.
-meta.pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".
-meta.readonly = The platform metadata area could not be written: {0}.  By default the platform writes its content\nunder the current working directory when the platform is launched.  Use the -data parameter to\nspecify a different content area for the platform.
-meta.readPlatformMeta = Could not read platform metadata: {0}.
-meta.registryCacheWriteProblems = Trouble writing to the registry cache file.
-meta.registryCacheReadProblems = Trouble reading from the registry cache file.
-meta.regCacheIOException = IOException encountered while writing \"{0}\".
-meta.registryCacheEOFException = Unexpected end-of-file when reading registry cache. Defaulting to not using cached file.
-meta.unableToWriteRegistry = Unable to write plug-in registry to cache.
-meta.unableToCreateCache = Unable to create output stream for registry cache.
-meta.unableToReadCache = Unable to create input stream for registry cache.
-meta.unableToCreateRegDebug = Unable to create output stream for registry debug information in \"{0}\".
-meta.unableToWriteDebugRegistry = Unable to write plug-in registry debug information to \"{0}\".
-meta.unableToReadAuthorization = Unable to read authorization database: {0}.
-meta.unableToWriteAuthorization = Unable to write to authorization database: {0}.
-meta.writePlatformMeta = Could not write platform metadata: {0}.
-meta.invalidRegDebug = Unable to create file \"{0}\" for plugin-in registry debug information.
-meta.infoRegDebug = Plug-in registry debug information created in file \"{0}\".
-meta.unableToDeleteCache = Unable to delete registry cache file \"{0}\".
-
-### URL
-url.badVariant=Unsupported \"platform:\" protocol variation \"{0}\".
-url.resolveFragment=Unable to resolve fragment \"{0}\".
-url.resolvePlugin=Unable to resolve plug-in \"{0}\".
-
-### Preferences
-preferences.errorReading=Error reading exported preferences file: {0}. {1}
-preferences.errorWriting=Error writing preference file {0}. {1}
-preferences.fileNotFound=Preference export file not found: {0}.
-preferences.incompatible=The preference file contains preferences for version \"{0}\" of plug-in \"{1}\", but version \"{2}\" is currently installed.
-preferences.invalidProperty=The preference export file contained an invalid entry: {0}={1}.
-preferences.validate=Some preferences may not be compatible with the currently installed plug-ins.
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
deleted file mode 100644
index 525a50e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-/**
- * A checked exception representing a failure.
- * <p>
- * Core exceptions contain a status object describing the 
- * cause of the exception.
- * </p>
- *
- * @see IStatus
- */
-public class CoreException extends Exception {
-
-	/** Status object. */
-	private IStatus status;
-/**
- * Creates a new exception with the given status object.  The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
-public CoreException(IStatus status) {
-	super(status.getMessage());
-	this.status = status;
-}
-/**
- * Returns the status object for this exception.
- *
- * @return a status object
- */
-public final IStatus getStatus() {
-	return status;
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace() {
-	printStackTrace(System.err);
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace(PrintStream output) {
-	synchronized (output) {
-		if (status.getException() != null) {
-			output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
-			status.getException().printStackTrace(output);
-		} else
-			super.printStackTrace(output);
-	}
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace(PrintWriter output) {
-	synchronized (output) {
-		if (status.getException() != null) {
-			output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
-			status.getException().printStackTrace(output);
-		} else
-			super.printStackTrace(output);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
deleted file mode 100644
index 6ab844c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An interface for an adaptable object.
- * <p>
- * Adaptable objects can be dynamically extended to provide different 
- * interfaces (or "adapters").  Adapters are created by adapter 
- * factories, which are in turn managed by type by adapter managers.
- * </p>
- * For example,
- * <pre>
- *     IAdaptable a = [some adaptable];
- *     IFoo x = (IFoo)a.getAdapter(IFoo.class);
- *     if (x != null)
- *         [do IFoo things with x]
- * </pre>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IAdapterFactory
- * @see IAdapterManager
- */
-public interface IAdaptable {
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adapter the adapter class to look up
- * @return a object castable to the given class, 
- *    or <code>null</code> if this object does not
- *    have an adapter for the given class
- */
-public Object getAdapter(Class adapter);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
deleted file mode 100644
index 424fd34..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An adapter factory defines behavioral extensions for
- * one or more classes that implements the <code>IAdaptable</code>
- * interface. Adapter factories are registered with an
- * adapter manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see IAdapterManager
- * @see IAdaptable
- */
-public interface IAdapterFactory {
-/**
- * Returns an object which is an instance of the given class
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adaptableObject the adaptable object being queried
- *   (usually an instance of <code>IAdaptable</code>)
- * @param adapterType the type of adapter to look up
- * @return a object castable to the given adapter type, 
- *    or <code>null</code> if this adapter factory 
- *    does not have an adapter of the given type for the
- *    given object
- */
-public Object getAdapter(Object adaptableObject, Class adapterType);
-/**
- * Returns the collection of adapter types handled by this
- * factory.
- * <p>
- * This method is generally used by an adapter manager
- * to discover which adapter types are supported, in advance
- * of dispatching any actual <code>getAdapter</code> requests.
- * </p>
- *
- * @return the collection of adapter types
- */
-public Class[] getAdapterList();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
deleted file mode 100644
index a0e0e3a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An adapter manager maintains a registry of adapter factories.
- * Clients directly invoke methods on an adapter manager to register
- * and unregister adapters.
- * All adaptable objects (that is, objects that implement the 
- * <code>IAdaptable</code> interface) funnel 
- * <code>IAdaptable.getAdapter</code> invocations to their
- * adapter manager's <code>IAdapterManger.getAdapter</code>
- * method. The adapter manager then forwards this request
- * unmodified to the <code>IAdapterFactory.getAdapter</code> 
- * method on one of the registered adapter factories.
- * <p>
- * The following code snippet shows how one might register
- * an adapter of type <code>com.example.acme.Sticky</code>
- * on resources in the workspace.
- * <p>
- * <pre>
- * IAdapterFactory pr = new IAdapterFactory() {
- *     public Class[] getAdapterList() {
- *         return new Class[] { com.example.acme.Sticky.class };
- *     }
- *     public Object getAdapter(Object adaptableObject, adapterType) {
- *         IResource res = (IResource) adaptableObject;
- *         QualifiedName key = new QualifiedName("com.example.acme", "sticky-note");
- *         try {
- *             com.example.acme.Sticky v = (com.example.acme.Sticky) res.getSessionProperty(key);
- *             if (v == null) {
- *                 v = new com.example.acme.Sticky();
- *                 res.setSessionProperty(key, v);
- *             }
- *         } catch (CoreException e) {
- *             // unable to access session property - ignore
- *         }
- *         return v;
- *     }
- * }
- * Platform.getAdapterManager().registerAdapters(pr, IResource.class);
-</pre>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IAdaptable
- * @see IAdapterFactory
- */
-public interface IAdapterManager {
-/**
- * Returns an object which is an instance of the given class
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adaptable the adaptable object being queried
- *   (usually an instance of <code>IAdaptable</code>)
- * @param adapterType the type of adapter to look up
- * @return a object castable to the given adapter type, 
- *    or <code>null</code> if the given adaptable object does not
- *    have an adapter of the given type
- */
-public Object getAdapter(Object adaptable, Class adapterType);
-/**
- * Registers the given adapter factory as extending objects of
- * the given type.
- * <p>
- * If the type being extended is a class,
- * the given factory's adapters are available on instances
- * of that class and any of its subclasses.  If it is an interface, 
- * the adapters are available to all classes that directly 
- * or indirectly implement that interface.
- * </p>
- *
- * @param factory the adapter factory
- * @param adaptable the type being extended
- * @see #unregisterAdapters
- */
-public void registerAdapters(IAdapterFactory factory, Class adaptable);
-/**
- * Removes the given adapter factory completely from the list of 
- * registered factories. Equivalent to calling
- * <code>unregisterAdapters(IAdapterFactory,Class)</code>
- * on all classes against which it had been explicitly registered.
- * Does nothing if the given factory is not currently registered.
- *
- * @param factory the adapter factory to remove
- * @see #registerAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory);
-/**
- * Removes the given adapter factory from the list of factories
- * registered as extending the given class.
- * Does nothing if the given factory and type combination is not
- * registered.
- *
- * @param factory the adapter factory to remove
- * @param adaptable one of the types against which the given
- *    factory is registered
- * @see #registerAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory, Class adaptable);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
deleted file mode 100644
index 3d343ac..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A configuration element, with its attributes and children, 
- * directly reflects the content and structure of the extension section
- * within the declaring plug-in's manifest (<code>plugin.xml</code>) file.
- * <p>
- * This interface also provides a way to create executable extension
- * objects.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IConfigurationElement {
-/**
- * Creates and returns a new instance of the executable extension 
- * identified by the named attribute of this configuration element.
- * The named attribute value must contain a fully qualified name
- * of a Java class implementing the executable extension.
- * <p>
- * The specified class is instantiated using its 0-argument public 
- * constructor. If the specified class implements the
- * <code>IExecutableExtension</code> interface, the method
- * <code>setInitializationData</code> is called, passing to the object
- * the configuration information that was used to create it. 
- * </p>
- * <p>
- * Unlike other methods on this object, invoking this method may activate 
- * the plug-in.
- * </p>
- *
- * @param propertyName the name of the property
- * @return the executable instance
- * @exception CoreException if an instance of the executable extension
- *   could not be created for any reason.
- * @see IExecutableExtension#setInitializationData
- */
-public Object createExecutableExtension(String propertyName) throws CoreException;
-/**
- * Returns the named attribute of this configuration element, or
- * <code>null</code> if none. 
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup 
- * <pre>
- * &lt;bg pattern="stripes"/&gt;
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with an attribute named <code>"pattern"</code>
- * with attribute value <code>"stripes"</code>.
- * </p>
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see IPluginDescriptor#getResourceString 
- *
- * @param name the name of the attribute
- * @return attribute value, or <code>null</code> if none
- */
-public String getAttribute(String name);
-/**
- * Returns the named attribute of this configuration element, or
- * <code>null</code> if none. 
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup 
- * <pre>
- * &lt;bg pattern="stripes"/&gt;
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with an attribute named <code>"pattern"</code>
- * with attribute value <code>"stripes"</code>.
- * </p>
- * <p>
- * Note that any translation specified in the plug-in manifest
- * file for this attribute is <b>not</b> automatically applied.
- * </p>
- *
- * @param name the name of the attribute
- * @return attribute value, or <code>null</code> if none
- */
-public String getAttributeAsIs(String name);
-/**
- * Returns the names of the attributes of this configuration element.
- * Returns an empty array if this configuration element has no attributes.
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup 
- * <pre>
- * &lt;bg color="blue" pattern="stripes"/&gt;
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with attributes named <code>"color"</code>
- * and <code>"pattern"</code>.
- * </p>
- *
- * @return the names of the attributes 
- */
-public String[] getAttributeNames();
-/**
- * Returns all configuration elements that are children of this
- * configuration element. 
- * Returns an empty array if this configuration element has no children.
- * <p>
- * Each child corresponds to a nested
- * XML element in the configuration markup.
- * For example, the configuration markup 
- * <pre>
- * &lt;view&gt;
- * &nbsp&nbsp&nbsp&nbsp&lt;verticalHint&gt;top&lt;/verticalHint&gt;
- * &nbsp&nbsp&nbsp&nbsp&lt;horizontalHint&gt;left&lt;/horizontalHint&gt;
- * &lt;/view&gt;
- * </pre>
- * corresponds to a configuration element, named <code>"view"</code>,
- * with two children.
- * </p>
- *
- * @return the child configuration elements
- */
-public IConfigurationElement[] getChildren();
-/**
- * Returns all child configuration elements with the given name. 
- * Returns an empty array if this configuration element has no children
- * with the given name.
- *
- * @param name the name of the child configuration element
- * @return the child configuration elements with that name
- * @see #getChildren
- */
-public IConfigurationElement[] getChildren(String name);
-/** 
- * Returns the extension that declares this configuration element.
- *
- * @return the extension
- */
-public IExtension getDeclaringExtension();
-/**
- * Returns the name of this configuration element. 
- * The name of a configuration element is the same as
- * the XML tag of the corresponding XML element. 
- * For example, the configuration markup 
- * <pre>
- * &lt;wizard name="Create Project"/&gt; 
- * </pre>
- * corresponds to a configuration element named <code>"wizard"</code>.
- *
- * @return the name of this configuration element
- */
-public String getName();
-/**
- * Returns the text value of this configuration element.
- * For example, the configuration markup 
- * <pre>
- * &lt;script lang="javascript"&gt;.\scripts\cp.js&lt;/script&gt;
- * </pre>
- * corresponds to a configuration element <code>"script"</code>
- * with value <code>".\scripts\cp.js"</code>.
- * <p> Values may span multiple lines (i.e., contain carriage returns
- * and/or line feeds).
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see IPluginDescriptor#getResourceString 
- *
- * @return the text value of this configuration element or <code>null</code>
- */
-public String getValue();
-/**
- * Returns the untranslated text value of this configuration element.
- * For example, the configuration markup 
- * <pre>
- * &lt;script lang="javascript"&gt;.\scripts\cp.js&lt;/script&gt;
- * </pre>
- * corresponds to a configuration element <code>"script"</code>
- * with value <code>".\scripts\cp.js"</code>.
- * <p> Values may span multiple lines (i.e., contain carriage returns
- * and/or line feeds).
- * <p>
- * Note that translation specified in the plug-in manifest
- * file is <b>not</b> automatically applied.
- * For example, the configuration markup 
- * <pre>
- * &lt;tooltip&gt;#hattip&lt;/tooltip&gt;
- * </pre>
- * corresponds to a configuration element, named <code>"tooltip"</code>,
- * with value <code>"#hattip"</code>.
- * </p>
- *
- * @return the untranslated text value of this configuration element or <code>null</code>
- */
-public String getValueAsIs();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
deleted file mode 100644
index b1cf7a7..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * Interface for executable extension classes that require access to 
- * their configuration element, or implement an extension adapter.
- * <p>
- * Extension adapters are typically required in cases where the extension
- * implementation does not follow the interface rules specified
- * by the provider of the extension point. In these
- * cases, the role of the adapter is to map between the extension point
- * interface, and the actual extension implementation. In general, adapters
- * are used when attempting to plug-in existing Java implementations, or
- * non-Java implementations (e.g., external executables).
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * 
- * @see IConfigurationElement#createExecutableExtension 
- */
-public interface IExecutableExtension {
-/**
- * This method is called by the implementation of the method
- * <code>IConfigurationElement.createExecutableExtension</code>
- * on a newly constructed extension, passing it its relevant configuration 
- * information. Most executable extensions only make use of the first 
- * two call arguments.
- * <p>
- * Regular executable extensions specify their Java implementation 
- * class name as an attribute of the configuration element for the 
- * extension. For example
- * <pre>
- *     &lt;action run="com.example.BaseAction"/&gt;
- * </pre>
- * In the above example, this method would be called with a reference
- * to the <code>&lt;action&gt;</code> element (first argument), and
- * <code>"run"</code> as the name of the attribute that defined
- * this executable extension (second argument).
- * </p>
- * <p>
- * The last parameter is for the specific use of extension adapters
- * and is typically not used by regular executable extensions.
- * </p>
- * <p>
- * There are two supported ways of associating additional
- * adapter-specific data with the configuration in a way that
- * is transparent to the extension point implementor:
- * </p>
- * <p>
- * (1) by specifying adapter data as part of the implementation
- * class attribute value. The Java class name can be followed
- * by a ":" separator, followed by any adapter data in string
- * form. For example, if the extension point specifies an attribute
- * <code>"run"</code> to contain the name of the extension implementation,
- * an adapter can be configured as
- * <pre>
- *     &lt;action run="com.example.ExternalAdapter:./cmds/util.exe -opt 3"/&gt;
- * </pre>
- * </p>
- * <p>
- * (2) by converting the attribute used to specify the executable
- * extension to a child element of the original configuration element,
- * and specifying the adapter data in the form of xml markup.
- * Using this form, the example above would become
- * <pre>
- *     &lt;action&gt;
- *         &lt;<it>run</it> class="com.xyz.ExternalAdapter"&gt;
- *             &lt;parameter name="exec" value="./cmds/util.exe"/&gt;
- *             &lt;parameter name="opt"  value="3"/&gt;
- *         &lt;/<it>run</it>&gt;
- *     &lt;/action&gt;
- * </pre>
- * </p>
- * <p>
- * Form (2) will typically only be
- * used for extension points that anticipate the majority of
- * extensions configured into it will in fact be in the form
- * of adapters.
- * </p>
- * <p>
- * In either case, the specified adapter class is instantiated using its
- * 0-argument public constructor. The adapter data is passed as the
- * last argument of this method. The data argument is defined as Object.
- * It can have the following values:
- * <ul>
- * <li><code>null</code>, if no adapter data was supplied</li>
- * <li>in case (1), the initialization data
- *		string is passed as a <code>String</code></li>
- * <li>in case (2), the initialization data is passed
- *		as a <code>Hashtable</code> containing the actual
- *		parameter names and values (both <code>String</code>s)</li>
- * </ul>
- * </p>
- *
- * @param config the configuration element used to trigger this execution. 
- *		It can be queried by the executable extension for specific
- *		configuration properties
- * @param propertyName the name of an attribute of the configuration element
- *		used on the <code>createExecutableExtension(String)</code> call. This
- *		argument can be used in the cases where a single configuration element
- *		is used to define multiple executable extensions.
- * @param data adapter data in the form of a <code>String</code>, 
- *		a <code>Hashtable</code>, or <code>null</code>.
- * @exception CoreException if error(s) detected during initialization processing
- * @see IConfigurationElement#createExecutableExtension
- */
-public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException;
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
deleted file mode 100644
index bbca469..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An extension declared in a plug-in.
- * All information is obtained from the declaring plug-in's 
- * manifest (<code>plugin.xml</code>) file. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IExtension {
-/**
- * Returns all configuration elements declared by this extension.
- * These elements are a direct reflection of the configuration 
- * markup supplied in the manifest (<code>plugin.xml</code>)
- * file for the plug-in that declares this extension.
- * Returns an empty array if this extension does not declare any
- * configuration elements.
- *
- * @return the configuration elements declared by this extension 
- */
-public IConfigurationElement[] getConfigurationElements();
-/** 
- * Returns the descriptor of the plug-in that declares this extension.
- *
- * @return the plug-in that declares this extension
- */
-public IPluginDescriptor getDeclaringPluginDescriptor();
-/**
- * Returns the unique identifier of the extension point
- * that this extension gets plugged into.
- *
- * @return the unique identifier of the relevant extension point
- */
-public String getExtensionPointUniqueIdentifier();
-/**
- * Returns a displayable label for this extension.
- * Returns the empty string if no label for this extension
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * <p>
- *
- * @see IPluginDescriptor#getResourceString 
- *
- * @return a displayable string label for this extension,
- *    possibly the empty string
- */
-public String getLabel();
-/**
- * Returns the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest (<code>plugin.xml</code>) 
- * file as a non-empty string containing no period characters 
- * (<code>'.'</code>) and must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension (e.g. <code>"main"</code>)
- *  or <code>null</code>
- */
-public String getSimpleIdentifier();
-/**
- * Returns the unique identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * If available, this identifier is unique within the plug-in registry, and
- * is composed of the identifier of the plug-in that declared
- * this extension and this extension's simple identifier.
- *
- * @return the unique identifier of the extension
- *    (e.g. <code>"com.example.acme.main"</code>), or <code>null</code>
- */
-public String getUniqueIdentifier();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
deleted file mode 100644
index 245d821..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An extension point declared in a plug-in.
- * Except for the list of extensions plugged in to it, the information 
- * available for an extension point is obtained from the declaring plug-in's 
- * manifest (<code>plugin.xml</code>) file.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IExtensionPoint {
-/**
- * Returns all configuration elements from all extensions configured
- * into this extension point. Returns an empty array if this extension 
- * point has no extensions configured, or none of the extensions 
- * contain configuration elements.
- *
- * @return the configuration elements for all extension configured 
- *   into this extension point
- */
-public IConfigurationElement[] getConfigurationElements();
-/** 
- * Returns the descriptor of the plug-in that declares this extension point.
- *
- * @return the plug-in that declares this extension point
- */
-public IPluginDescriptor getDeclaringPluginDescriptor();
-/**
- * Returns the extension with the given unique identifier configured into
- * this extension point, or <code>null</code> if there is no such extension.
- * Since an extension might not have an identifier, some extensions
- * can only be found via the <code>getExtensions</code> method.
- *
- * @param extensionId the unique identifier of an extension 
- *		(e.g. <code>"com.example.acme.main"</code>).
- * @return an extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionId) ;
-/**
- * Returns all extensions configured into this extension point.
- * Returns an empty array if this extension point has no extensions.
- *
- * @return the extensions configured into this extension point
- */
-public IExtension[] getExtensions();
-/**
- * Returns a displayable label for this extension point.
- * Returns the empty string if no label for this extension point
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @return a displayable string label for this extension point,
- *    possibly the empty string
- * @see IPluginDescriptor#getResourceString 
- */
-public String getLabel();
-/**
- * Returns reference to the extension point schema. The schema 
- * reference is returned as a URL path relative to the plug-in 
- * installation URL. 
- * Returns the empty string if no schema for this extension point
- * is specified in the plug-in manifest file.
- *
- * @return a relative URL path, or an empty string
- * @see IPluginDescriptor#getInstallURL
- */
-public String getSchemaReference();
-/**
- * Returns the simple identifier of this extension point.
- * This identifier is a non-empty string containing no
- * period characters (<code>'.'</code>) and is guaranteed
- * to be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension point (e.g. <code>"builders"</code>)
- */
-public String getSimpleIdentifier();
-/**
- * Returns the unique identifier of this extension point.
- * This identifier is unique within the plug-in registry, and
- * is composed of the identifier of the plug-in that declared
- * this extension point and this extension point's simple identifier.
- *
- * @return the unique identifier of the extension point
- *    (e.g. <code>"org.eclipse.core.resources.builders"</code>)
- */
-public String getUniqueIdentifier();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
deleted file mode 100644
index b500f4e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.runtime.model.LibraryModel;
-
- /**
- * A runtime library declared in a plug-in.  Libraries contribute elements to the search path.
- * These contributions are specified as a path to a directory or Jar file.  This path is always
- * considered to be relative to the containing plug-in.  
- * <p>
- * Libraries are typed.  The type is used to determine to which search path the library's
- * contribution should be added.  The valid types are: <code>CODE</code> and
- * <code>RESOURCE</code>.  
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IPluginDescriptor#getRuntimeLibraries 
- */
-public interface ILibrary {
-	/**
-	 * Constant string (value "code") indicating the code library type.
-	 * @see LibraryModel#CODE
-	 */
-	public static final String CODE = LibraryModel.CODE;
-	
-	/**
-	 * Constant string (value "resource") indicating the resource library type.
-	 * @see LibraryModel#RESOURCE
-	 */
-	public static final String RESOURCE = LibraryModel.RESOURCE;
-	
-/**
- * Returns the content filters, or <code>null</code>.
- * Each content filter identifies a specific class, or
- * a group of classes, using a notation and matching rules
- * equivalent to Java <code>import</code> declarations
- * (e.g., "java.io.File", or "java.io.*"). Returns <code>null</code>
- * if the library is not exported, or it is fully exported
- * (no filtering).
- *
- * @return the content filters, or <code>null</codel> if none
- */
-public String[] getContentFilters();
-/**
- * Returns the path of this runtime library, relative to the
- * installation location.
- *
- * @return the path of the library
- * @see IPluginDescriptor#getInstallURL
- */
-public IPath getPath();
-/**
- * Returns this library's type.
- *
- * @return the type of this library.   The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * @see #CODE
- * @see #RESOURCE
- */
-public String getType();
-/**
- * Returns whether the library is exported. The contents of an exported
- * library may be visible to other plug-ins that declare a dependency
- * on the plug-in containing this library, subject to content filtering.
- * Libraries that are not exported are entirely private to the declaring
- * plug-in.
- *
- * @return <code>true</code> if the library is exported, <code>false</code>
- *    if it is private
- */
-public boolean isExported();
-/**
- * Returns whether this library is fully exported. A library is considered
- * fully exported iff it is exported and has no content filters.
- *
- * @return <code>true</code> if the library is fully exported, and
- *    <code>false</code> if it is private or has filtered content
- */
-public boolean isFullyExported();
-/**
- * Returns the array of package prefixes that this library declares. This 
- * is used in classloader enhancements and is an optional entry in the plugin.xml.
- * 
- * @return the array of package prefixes or <code>null</code>
- * @since 2.1
- */
-public String[] getPackagePrefixes();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
deleted file mode 100644
index 7a4d9a7..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A log to which status events can be written.  Logs appear on individual
- * plug-ins and on the platform itself.  Clients can register log listeners which
- * will receive notification of all log events as the come in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface ILog {
-/**
- * Adds the given log listener to this log.  Subsequently the log listener will
- * receive notification of all log events passing through this log.
- * This method has no affect if the identical listener is already registered on this log.
- *
- * @param listener the listener to add to this log
- * @see Platform#addLogListener
- */
-public void addLogListener(ILogListener listener);
-/**
- * Returns the plug-in with which this log is associated.
- *
- * @return the plug-in with which this log is associated
- */
-public Plugin getPlugin();
-/**
- * Logs the given status.  The status is distributed to the log listeners
- * installed on this log and then to the log listeners installed on the platform.
- *
- * @param status the status to log
- */
-public void log(IStatus status);
-/**
- * Removes the given log listener to this log.  Subsequently the log listener will
- * no longer receive notification of log events passing through this log.  
- * This method has no affect if the identical listener is not registered on this log.
- *
- * @see Platform#removeLogListener
- */
-public void removeLogListener(ILogListener listener);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
deleted file mode 100644
index 2b15884..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.EventListener;
-
-/**
- * A log listener is notified of entries added to a plug-in's log.
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see ILog#addLogListener
- * @see Platform#addLogListener
- */
-public interface ILogListener extends EventListener {
-/**
- * Notifies this listener that given status has been logged by
- * a plug-in.  The listener is free to retain or ignore this status.
- * 
- * @param status the status being logged
- * @param plugin the plugin of the log which generated this event
- */
-public void logging(IStatus status, String plugin);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
deleted file mode 100644
index 6dc56a1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A path is an ordered collection of string segments,
- * separated by a standard separator character, "/".
- * A path may also have a leading and/or a trailing separator.
- * Paths may also be prefixed by an optional device id, which includes
- * the character(s) which separate the device id from the rest 
- * of the path. For example, "C:" and "Server/Volume:" are typical
- * device ids.
- * A device independent path has <code>null</code> for a device id.
- * <p>
- * Note that paths are value objects; all operations on paths 
- * return a new path; the path that is operated on is unscathed.
- * </p>
- * <p>
- * UNC paths are denoted by leading double-slashes such 
- * as <code>//Server/Volume/My/Path</code>. When a new path
- * is constructed all double-slashes are removed except those
- * appearing at the beginning of the path.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see Path
- */
-public interface IPath extends Cloneable {
-
-	/**
-	 * Path separator character constant "/" used in paths.
-	 */
-	public static final char SEPARATOR = '/';
-	
-	/** 
-	 * Device separator character constant ":" used in paths.
-	 */
-	public static final char DEVICE_SEPARATOR = ':';
-/**
- * Returns a new path which is the same as this path but with
- * the given file extension added.  If this path is empty, root or has a 
- * trailing separator, this path is returned.  If this path already
- * has an extension, the existing extension is left and the given
- * extension simply appended.  Clients wishing to replace
- * the current extension should first remove the extension and
- * then add the desired one.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * The given extension should not include a leading ".".
- * </p>
- *
- * @param extension the file extension to append
- * @return the new path
- */
-public IPath addFileExtension(String extension);
-/**
- * Returns a path with the same segments as this path
- * but with a trailing separator added.
- * This path must have at least one segment.
- * <p>
- * If this path already has a trailing separator,
- * this path is returned.
- * </p>
- *
- * @return the new path
- * @see #hasTrailingSeparator
- * @see #removeTrailingSeparator
- */
-public IPath addTrailingSeparator();
-/**
- * Returns the canonicalized path obtained from the
- * concatenation of the given string path to the
- * end of this path. The given string path must be a valid
- * path. If it has a trailing separator, 
- * the result will have a trailing separator.
- * The device id of this path is preserved (the one
- * of the given string is ignored). Duplicate slashes
- * are removed from the path except at the beginning
- * where the path is considered to be UNC.
- * 
- * @param path the string path to concatenate
- * @return the new path
- * @see #isValidPath 
- */
-public IPath append(String path);
-/**
- * Returns the canonicalized path obtained from the 
- * concatenation of the given path's segments to the
- * end of this path.  If the given path has a trailing
- * separator, the result will have a trailing separator.
- * The device id of this path is preserved (the one
- * of the given path is ignored). Duplicate slashes
- * are removed from the path except at the beginning
- * where the path is considered to be UNC.
- *
- * @param path the path to concatenate
- * @return the new path
- */
-public IPath append(IPath path);
-/**
- * Returns a copy of this path.
- *
- * @return the cloned path
- */
-public Object clone();
-/**
- * Returns whether this path equals the given object.
- * <p>
- * Equality for paths is defined to be: same sequence of segments,
- * same absolute/relative status, and same device.
- * Trailing separators are disregarded.
- * Paths are not generally considered equal to objects other than paths.
- * </p>
- *
- * @param obj the other object
- * @return <code>true</code> if the paths are equivalent,
- *    and <code>false</code> if they are not
- */
-public boolean equals(Object obj);
-/**
- * Returns the device id for this path, or <code>null</code> if this
- * path has no device id. Note that the result will end in ':'.
- *
- * @return the device id, or <code>null</code>
- * @see #setDevice
- */
-public String getDevice();
-/**
- * Returns the file extension portion of this path, 
- * or <code>null</code> if there is none.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * If there is no period in the last segment, the path has no
- * file extension portion. If the last segment ends in a period,
- * the file extension portion is the empty string.
- * </p>
- *
- * @return the file extension or <code>null</code>
- */
-public String getFileExtension();
-/**
- * Returns whether this path has a trailing separator.
- * <p>
- * Note: In the root path ("/"), the separator is considered to
- * be leading rather than trailing.
- * </p>
- *
- * @return <code>true</code> if this path has a trailing
- *    separator, and <code>false</code> otherwise
- * @see #addTrailingSeparator
- * @see #removeTrailingSeparator
- */
-public boolean hasTrailingSeparator();
-/**
- * Returns whether this path is an absolute path (ignoring
- * any device id).
- * <p>
- * Absolute paths start with a path separator.
- * A root path, like <code>/</code> or <code>C:/</code>, 
- * is considered absolute.
- * </p>
- *
- * @return <code>true</code> if this path is an absolute path,
- *    and <code>false</code> otherwise
- */
-public boolean isAbsolute();
-/**
- * Returns whether this path has no segments and is not
- * a root path.
- *
- * @return <code>true</code> if this path is empty,
- *    and <code>false</code> otherwise
- */
-public boolean isEmpty();
-/**
- * Returns whether this path is a prefix of the given path.
- * To be a prefix, this path's segments must
- * appear in the argument path in the same order,
- * and their device ids must match.
- * <p>
- * An empty path is a prefix of all paths with the same device; a root path is a prefix of 
- * all absolute paths with the same device.
- * </p>
- * @param anotherPath the other path
- * @return <code>true</code> if this path is a prefix of the given path,
- *    and <code>false</code> otherwise
- */
-public boolean isPrefixOf(IPath anotherPath);
-/**
- * Returns whether this path is a root path.
- * <p>
- * The root path is the absolute path with zero segments; 
- * e.g., <code>/</code> or <code>C:/</code>.
- * The separator is considered a leading separator, not a trailing one.
- * </p>
- *
- * @return <code>true</code> if this path is a root path,
- *    and <code>false</code> otherwise
- */
-public boolean isRoot();
-/**
- * Returns a boolean value indicating whether or not this path
- * is considered to be in UNC form. Return false if this path
- * has a device set or if the first 2 characters of the path string
- * are not <code>Path.SEPARATOR</code>.
- * 
- * @return boolean indicating if this path is UNC
- */
-public boolean isUNC();
-/**
- * Returns whether the given string is syntactically correct as
- * a path.  The device id is the prefix up to and including the first ":";
- * the path proper is everything to the right of it, or the entire string
- * if there is no ":". The device id is not checked for validity;
- * the path proper is correct if each of the segments in its canonicalized
- * form is valid.
- *
- * @return <code>true</code> if the given string is a valid path,
- *    and <code>false</code> otherwise
- * @see #isValidSegment
- */
-public boolean isValidPath(String path);
-/**
- * Returns whether the given string is valid as a segment in 
- * a path. The rules for valid segments are as follows:
- * <ul>
- * <li> the empty string is not valid
- * <li> any string containing the colon character (":") is not valid
- * <li> any string containing the slash character ("/") is not valid
- * <li> any string containing the backslash character ("\") is not valid
- * <li> any string starting or ending with a whitespace character is not valid
- * <li> all other strings are valid
- * </ul>
- *
- * @param segment the path segment to check
- * @return <code>true</code> if the given path segment is valid,
- *    and <code>false</code> otherwise
- * @see java.lang.Character#isWhitespace
- */
-public boolean isValidSegment(String segment);
-/**
- * Returns the last segment of this path, or
- * <code>null</code> if it does not have any segments.
- *
- * @return the last segment of this path, or <code>null</code> 
- */
-public String lastSegment();
-/**
- * Returns an absolute path with the segments and device id of this path.
- * Absolute paths start with a path separator. If this path is absolute, 
- * it is simply returned.
- *
- * @return the new path
- */
-public IPath makeAbsolute();
-/**
- * Returns a relative path with the segments and device id of this path.
- * Absolute paths start with a path separator and relative paths do not. 
- * If this path is relative, it is simply returned.
- *
- * @return the new path
- */
-public IPath makeRelative();
-/**
- * Return a new path which is the equivalent of this path converted to UNC
- * form (if the given boolean is true) or this path not as a UNC path (if the given
- * boolean is false). If UNC, the returned path will not have a device and the 
- * first 2 characters of the path string will be <code>Path.SEPARATOR</code>. If not UNC, the
- * 	first 2 characters of the returned path string will not be <code>Path.SEPARATOR</code>.
- * 
- * @param toUNC true if converting to UNC, false otherwise
- * @return the new path, either in UNC form or not depending on the boolean parm
- */
-public IPath makeUNC(boolean toUNC);
-/**
- * Returns a count of the number of segments which match in
- * this path and the given path (device ids are ignored),
- * comparing in increasing segment number order.
- *
- * @param anotherPath the other path
- * @return the number of matching segments
- */
-public int matchingFirstSegments(IPath anotherPath);
-/**
- * Returns a new path which is the same as this path but with
- * the file extension removed.  If this path does not have an 
- * extension, this path is returned.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * If there is no period in the last segment, the path has no
- * file extension portion. If the last segment ends in a period,
- * the file extension portion is the empty string.
- * </p>
- *
- * @return the new path
- */
-public IPath removeFileExtension();
-/**
- * Returns a copy of this path with the given number of segments
- * removed from the beginning. The device id is preserved. 
- * The number must be greater or equal zero.
- * If the count is zero, this path is returned.
- * The resulting path will always be a relative path with respect
- * to this path.  If the number equals or exceeds the number
- * of segments in this path, an empty relative path is returned.
- *
- * @return the new path
- */
-public IPath removeFirstSegments(int count);
-/**
- * Returns a copy of this path with the given number of segments
- * removed from the end. The device id is preserved.
- * The number must be greater or equal zero.
- * If the count is zero, this path is returned.
- * <p>
- * If this path has a trailing separator, it will still
- * have a trailing separator after the last segments are removed
- * (assuming there are some segments left).  If there is no
- * trailing separator, the result will not have a trailing
- * separator.
- * If the number equals or exceeds the number
- * of segments in this path, an empty path is returned.
- * </p>
- *
- * @return the new path
- */
-public IPath removeLastSegments(int count);
-/**
- * Returns a path with the same segments as this path
- * but with a trailing separator removed.
- * Does nothing if this path does not have at least one segment.
- * The device id is preserved.
- * <p>
- * If this path does not have a trailing separator,
- * this path is returned.
- * </p>
- *
- * @return the new path
- * @see #addTrailingSeparator
- * @see #hasTrailingSeparator
- */
-public IPath removeTrailingSeparator();
-/**
- * Returns the specified segment of this path, or
- * <code>null</code> if the path does not have such a segment.
- *
- * @param index the 0-based segment index
- * @return the specified segment, or <code>null</code> 
- */
-public String segment(int index);
-/**
- * Returns the number of segments in this path.
- * <p> 
- * Note that both root and empty paths have 0 segments.
- * </p>
- *
- * @return the number of segments
- */
-public int segmentCount();
-/**
- * Returns the segments in this path in order.
- *
- * @return an array of string segments
- */
-public String[] segments();
-/**
- * Returns a new path which is the same as this path but with 
- * the given device id.  The device id must end with a ":".
- * A device independent path is obtained by passing <code>null</code>.
- * <p>
- * For example, "C:" and "Server/Volume:" are typical device ids.
- * </p>
- *
- * @param device the device id or <code>null</code>
- * @return a new path
- * @see #getDevice
- */
-public IPath setDevice(String device);
-/**
- * Returns a <code>java.io.File</code> corresponding to this path.
- *
- * @return the file corresponding to this path
- */
-public java.io.File toFile();
-/**
- * Returns a string representation of this path which uses the
- * platform-dependent path separator defined by <code>java.io.File</code>.
- * This method is like <code>toString()</code> except that the
- * latter always uses the same separator (<code>/</code>) regardless of platform.
- * <p>
- * This string is suitable for passing to <code>java.io.File(String)</code>.
- * </p>
- *
- * @return a platform-dependent string representation of this path
- */
-public String toOSString();
-/**
- * Returns a string representation of this path, including its
- * device id.  The same separator, "/", is used on all platforms.
- * <p>
- * Example result strings (without and with device id):
- * <pre>
- * "/foo/bar.txt"
- * "bar.txt"
- * "/foo/"
- * "foo/"
- * ""
- * "/"
- * "C:/foo/bar.txt"
- * "C:bar.txt"
- * "C:/foo/"
- * "C:foo/"
- * "C:"
- * "C:/"
- * </pre>
- * This string is suitable for passing to <code>Path(String)</code>.
- * </p>
- *
- * @return a string representation of this path
- * @see Path
- */
-public String toString();
-/**
- * Returns a copy of this path truncated after the
- * given number of segments. The number must not be negative.
- * The device id is preserved.
- * <p>
- * If this path has a trailing separator, the result will too
- * (assuming there are some segments left). If there is no
- * trailing separator, the result will not have a trailing
- * separator.
- * Copying up to segment zero simply means making an copy with
- * no path segments.
- * </p>
- *
- * @param count the segment number at which to truncate the path
- * @return the new path
- */
-public IPath uptoSegment(int count);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
deleted file mode 100644
index da28fe5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.net.URL;
-
-/**
- * A plug-in descriptor contains information about a plug-in
- * obtained from the plug-in's manifest (<code>plugin.xml</code>) file.
- * <p>
- * Plug-in descriptors are platform-defined objects that exist
- * in the plug-in registry independent of whether a plug-in has
- * been started. In contrast, a plug-in's runtime object 
- * (<code>getPlugin</code>) generally runs plug-in-defined code.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see #getPlugin
- */
-public interface IPluginDescriptor {
-/**
- * Returns the extension with the given simple identifier declared in
- * this plug-in, or <code>null</code> if there is no such extension.
- * Since an extension might not have an identifier, some extensions
- * can only be found via the <code>getExtensions</code> method.
- *
- * @param extensionName the simple identifier of the extension (e.g. <code>"main"</code>).
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionName);
-/**
- * Returns the extension point with the given simple identifier
- * declared in this plug-in, or <code>null</code> if there is no such extension point.
- *
- * @param extensionPointId the simple identifier of the extension point (e.g. <code>"wizard"</code>).
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId);
-/**
- * Returns all extension points declared by this plug-in.
- * Returns an empty array if this plug-in does not declare any extension points.
- *
- * @return the extension points declared by this plug-in
- */
-public IExtensionPoint[] getExtensionPoints();
-/**
- * Returns all extensions declared by this plug-in.
- * Returns an empty array if this plug-in does not declare any extensions.
- *
- * @return the extensions declared by this plug-in
- */
-public IExtension[] getExtensions();
-/**
- * Returns the URL of this plug-in's install directory. 
- * This is the directory containing
- * the plug-in manifest file, resource bundle, runtime libraries,
- * and any other files supplied with this plug-in.
- *
- * @return the URL of this plug-in's install directory
- */
-public URL getInstallURL() ;
-/**
- * Returns a displayable label for this plug-in.
- * Returns the empty string if no label for this plug-in
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @return a displayable string label for this plug-in,
- *    possibly the empty string
- * @see #getResourceString 
- */
-public String getLabel();
-/**
- * Returns the plug-in runtime object corresponding to this
- * plug-in descriptor. Unlike other methods on this object,
- * invoking this method may activate the plug-in.
- * The returned object is an instance of the plug-in runtime class
- * specified in the plug-in's manifest file;
- * if a class is not specified there, the returned object
- * is an internally-supplied one that does not react to life cycle requests.
- *
- * @return the plug-in runtime object
- * @exception CoreException 
- *   if this plug-in's runtime object could not be created.
- * @see #isPluginActivated
- */
-public Plugin getPlugin() throws CoreException;
-/**
- * Returns the plug-in class loader used to load classes and resources
- * for this plug-in. The class loader can be used to directly access
- * plug-in resources and classes. Note that accessing a resource will
- * <b>not activate</b> the corresponding plug-in. Successfully loading 
- * a class will <b>always activate</b> the corresponding plug-in.
- * <p> 
- * The following examples illustrate the direct use of the plug-in class
- * loader and its effect on plug-in activation (example ignores error
- * handling).
- *
- * <pre>
- *     ClassLoader loader = descriptor.getPluginClassLoader();
- *
- *     // Load resource by name. Will not activate the plug-in.
- *     URL res = loader.getResource("com/example/Foo/button.gif");
- *     InputStream is = loader.getResourceAsStream("splash.jpg");
- *
- *     // Load resource for class. Will activate the plug-in because
- *     // the referenced class is loaded first and triggers activation.
- *     URL u = com.example.Foo.class.getResource("button.gif");
- *
- *     // Load class by name. Will activate the plug-in.
- *     Class c = loader.loadClass("com.example.Bar");
- *
- *     // Load a resource bundle. May, or may not activate the plug-in, depending
- *     // on the bundle implementation. If implemented as a class, the plug-in
- *     // will be activated. If implemented as a properties file, the plug-in will
- *     // not be activated.
- *     ResourceBundle b = 
- *         ResourceBundle.getBundle("bundle", Locale.getDefault(), loader);
- * </pre>
- *
- * @return the plug-in class loader
- * @see IConfigurationElement#createExecutableExtension
- * @see #isPluginActivated
- * @see #getResourceBundle
- */
-public ClassLoader getPluginClassLoader();
- /**
- * Returns a list of plug-in prerequisites required
- * for correct execution of this plug-in.
- *
- * @return an array of plug-in prerequisites, or an empty array
- * if no prerequisites were specified
- */
-public IPluginPrerequisite[] getPluginPrerequisites() ;
-/**
- * Returns the name of the provider of this plug-in.
- * Returns the empty string if no provider name is specified in 
- * the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see #getResourceString 
- *
- * @return the name of the provider, possibly the empty string
- */
-public String getProviderName();
-/**
- * Returns this plug-in's resource bundle for the current locale. 
- * <p>
- * The bundle is stored as the <code>plugin.properties</code> file 
- * in the plug-in install directory, and contains any translatable
- * strings used in the plug-in manifest file (<code>plugin.xml</code>)
- * along with other resource strings used by the plug-in implementation.
- * </p>
- *
- * @return the resource bundle
- * @exception MissingResourceException if the resource bundle was not found
- */
-public ResourceBundle getResourceBundle() throws MissingResourceException;
-/**
- * Returns a resource string corresponding to the given argument value.
- * If the argument value specifies a resource key, the string
- * is looked up in the default resource bundle. If the argument does not
- * specify a valid key, the argument itself is returned as the
- * resource string. The key lookup is performed in the
- * plugin.properties resource bundle. If a resource string 
- * corresponding to the key is not found in the resource bundle
- * the key value, or any default text following the key in the
- * argument value is returned as the resource string.
- * A key is identified as a string begining with the "%" character.
- * Note, that the "%" character is stripped off prior to lookup
- * in the resource bundle.
- * <p>
- * Equivalent to <code>getResourceString(value, getBundle())</code>
- * </p>
- *
- * @param value the value
- * @return the resource string
- * @see #getResourceBundle
- */
-public String getResourceString(String value);
-/**
- * Returns a resource string corresponding to the given argument 
- * value and bundle.
- * If the argument value specifies a resource key, the string
- * is looked up in the given resource bundle. If the argument does not
- * specify a valid key, the argument itself is returned as the
- * resource string. The key lookup is performed against the
- * specified resource bundle. If a resource string 
- * corresponding to the key is not found in the resource bundle
- * the key value, or any default text following the key in the
- * argument value is returned as the resource string.
- * A key is identified as a string begining with the "%" character.
- * Note that the "%" character is stripped off prior to lookup
- * in the resource bundle.
- * <p>
- * For example, assume resource bundle plugin.properties contains
- * name = Project Name
- * <pre>
- *     getResourceString("Hello World") returns "Hello World"</li>
- *     getResourceString("%name") returns "Project Name"</li>
- *     getResourceString("%name Hello World") returns "Project Name"</li>
- *     getResourceString("%abcd Hello World") returns "Hello World"</li>
- *     getResourceString("%abcd") returns "%abcd"</li>
- *     getResourceString("%%name") returns "%name"</li>
- * </pre>
- * </p>
- *
- * @param value the value
- * @param bundle the resource bundle
- * @return the resource string
- * @see #getResourceBundle
- */
-public String getResourceString(String value, ResourceBundle bundle);
-/**
- * Returns all runtime libraries declared by this plug-in.
- * Returns an empty array if this plug-in has no runtime libraries.
- *
- * @return the runtime libraries declared by this plug-in
- */
-public ILibrary[] getRuntimeLibraries();
-/**
- * Returns the unique identifier of this plug-in.
- * This identifier is a non-empty string and is unique 
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.runtime"</code>)
- */
-public String getUniqueIdentifier();
-/**
- * Returns the version identifier of this plug-in.
- *
- * @return the plug-in version identifier
- */
-public PluginVersionIdentifier getVersionIdentifier();
-/**
- * Returns whether the plug-in described by this descriptor
- * has been activated. Invoking this method will not cause the
- * plug-in to be activated.
- *
- * @return <code>true</code> if this plug-in is activated, and
- *   <code>false</code> otherwise
- * @see #getPlugin
- */
-public boolean isPluginActivated();
-/**
- * Returns a URL for the given path.  Returns <code>null</code> if the URL
- * could not be computed or created.
- * 
- * @param file path relative to plug-in installation location 
- * @return a URL for the given path or <code>null</code>  It is not
- * necessary to perform a 'resolve' on this URL.
- * 
- * @since 2.0
- */
-public URL find(IPath path);
-/**
- * Returns a URL for the given path.  Returns <code>null</code> if the URL
- * could not be computed or created.
- * 
- * find will look for this path under the directory structure for this plugin
- * and any of its fragments.  If this path will yield a result outside the
- * scope of this plugin, <code>null</code> will be returned.  Note that
- * there is no specific order to the fragments.
- * 
- * The following arguments may also be used
- * 
- *  $nl$ - for language specific information
- *  $os$ - for operating system specific information
- *  $ws$ - for windowing system specific information
- * 
- * A path of $nl$/about.properties in an environment with a default 
- * locale of en_CA will return a URL corresponding to the first place
- * about.properties is found according to the following order:
- *   plugin root/nl/en/CA/about.properties
- *   fragment1 root/nl/en/CA/about.properties
- *   fragment2 root/nl/en/CA/about.properties
- *   ...
- *   plugin root/nl/en/about.properties
- *   fragment1 root/nl/en/about.properties
- *   fragment2 root/nl/en/about.properties
- *   ...
- *   plugin root/about.properties
- *   fragment1 root/about.properties
- *   fragment2 root/about.properties
- *   ...
- * 
- * If a locale other than the default locale is desired, use an
- * override map.
- * 
- * @param path file path relative to plug-in installation location
- * @param override map of override substitution arguments to be used for
- * any $arg$ path elements. The map keys correspond to the substitution
- * arguments (eg. "$nl$" or "$os$"). The resulting
- * values must be of type java.lang.String. If the map is <code>null</code>,
- * or does not contain the required substitution argument, the default
- * is used.
- * @return a URL for the given path or <code>null</code>.  It is not
- * necessary to perform a 'resolve' on this URL.
- * 
- * @since 2.0
- */
-public URL find(IPath path, Map override);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
deleted file mode 100644
index 0401f29..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A prerequisite entry declared by a plug-in. The declaration causes
- * classes defined by the prerequisite plug-in to be visible
- * to the plug-in that declared the dependency.
- * <p>
- * This interface is not intended to be implemented by developers.
- * </p>
- *
- * @see IPluginDescriptor#getPluginPrerequisites
- */
-public interface IPluginPrerequisite {
-/**
- * Returns the actual version identifier that is used
- * at runtime to resolve this prerequisite dependency,
- * or null, if the dependency is not resolved.
- * 
- * @return the plug-in version identifier, or null
- */
-public PluginVersionIdentifier getResolvedVersionIdentifier();
-/**
- * Returns the plug-in identifier of the prerequisite plug-in.
- * 
- * @return the plug-in identifier
- */
-public String getUniqueIdentifier();
-/**
- * Returns the version identifier of the prerequisite plug-in,
- * or <code>null</code> if none.
- * 
- * @return the plug-in version identifier, or <code>null</code> if 
- *    none was specified
- */
-public PluginVersionIdentifier getVersionIdentifier();
-/**
- * Indicates whether this prerequisite plug-in is further exposed to any
- * plug-ins that declare a dependency on this plug-in. This allows
- * for chaining of dependencies. For example, if plug-in A depends
- * on plug-in B which depends on plug-in C, the classes from C 
- * are typically visible to B, but not to A.  A can get around this 
- * if either B explicitly exports its dependency on C, or 
- * A explicitly declares C as a prerequisite in addition to B.
- * 
- * @return <code>true</code> if this prerequisite plug-in is exposed,
- *    <code>false</code> otherwise
- */
-public boolean isExported();
-/**
- * Indicates that this plug-in prerequisite can be resolved
- * against a configured plug-in with an identifier that is
- * greater than or equal to it.
- *
- * @return <code>true</code> if greater or equal match is allowed,
- *   <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsGreaterOrEqual();
-/**
- * Indicates that this plug-in prerequisite can be resolved
- * against a configured plug-in with a compatible identifier.
- *
- * @return <code>true</code> if compatible match is allowed,
- *   <code>false</code> if exact match is required.
- */
-public boolean isMatchedAsCompatible();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with an equivalent plug-in 
- * identifier.
- *
- * @return <code>true</code> if only equivalent identifier match
- * satisfies this dependency, <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsEquivalent();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with a plug-in identifier that
- * is perfectly equal.
- *
- * @return <code>true</code> if only perfectly equal
- * identifier match satisfies this dependency,
- * <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsPerfect();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with exactly the same plug-in 
- * identifier.
- *
- * @return <code>true</code> if only exact identifier match
- * satisfies this dependency, <code>false</code> if compatible
- * plug-in will satisfy this dependency.
- */
-public boolean isMatchedAsExact();
-/**
- * Indicates whether this plug-in prerequisite is optional.  If a required (i.e., non-optional)
- * prerequisite is missing, this plugin is disabled.  
- *
- * @return <code>true</code> if this prerequisite is optional, <code>false</code> otherwise
- */
-public boolean isOptional();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
deleted file mode 100644
index cd964eb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * The plug-in registry holds the master list of all
- * discovered plug-ins, extension points, and extensions.
- * <p>
- * The plug-in registry can be queried, by name, for 
- * plug-ins, extension points, and extensions.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IPluginRegistry {
-/**
- * Returns all configuration elements from all extensions configured
- * into the identified extension point. Returns an empty array if the extension 
- * point does not exist, has no extensions configured, or none of the extensions 
- * contain configuration elements.
- *
- * @param extensionPointId the unique identifier of the extension point
- *		(e.g. <code>"org.eclipse.core.resources.builders"</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String extensionPointId);
-/**
- * Returns all configuration elements from all extensions configured
- * into the identified extension point. Returns an empty array if the extension 
- * point does not exist, has no extensions configured, or none of the extensions 
- * contain configuration elements.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the 
- *		extension point (e.g. <code>"builders"</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String extensionPointName);
-/**
- * Returns all configuration elements from the identified extension.
- * Returns an empty array if the extension does not exist or 
- * contains no configuration elements.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the 
- *		extension point (e.g. <code>"builders"</code>)
- * @param extensionId the unique identifier of the extension 
- *		(e.g. <code>"com.example.acme.coolbuilder</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String extensionPointName, String extensionId);
-/**
- * Returns the specified extension in this plug-in registry, 
- * or <code>null</code> if there is no such extension.
- * The first parameter identifies the extension point, and the second
- * parameter identifies an extension plugged in to that extension point.
- *
- * @param extensionPointId the unique identifier of the extension point
- *		(e.g. <code>"org.eclipse.core.resources.builders"</code>)
- * @param extensionId the unique identifier of the extension 
- *		(e.g. <code>"com.example.acme.coolbuilder"</code>)
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionPointId, String extensionId);
-/**
- * Returns the specified extension in this plug-in registry, 
- * or <code>null</code> if there is no such extension.
- * The first two parameters identify the extension point, and the third
- * parameter identifies an extension plugged in to that extension point.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the 
- *		extension point (e.g. <code>"builders"</code>)
- * @param extensionId the unique identifier of the extension 
- *		(e.g. <code>"com.example.acme.coolbuilder"</code>)
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String pluginId, String extensionPointName, String extensionId);
-/**
- * Returns the extension point with the given extension point identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * extension point.
- *
- * @param extensionPointId the unique identifier of the extension point 
- *    (e.g., <code>"org.eclipse.core.resources.builders"</code>)
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId);
-/**
- * Returns the extension point in this plug-in registry
- * with the given plug-in identifier and extension point simple identifier,
- * or <code>null</code> if there is no such extension point.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the 
- *		extension point (e.g. <code>" builders"</code>)
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String pluginId, String extensionPointName);
-/**
- * Returns all extension points known to this plug-in registry.
- * Returns an empty array if there are no extension points.
- *
- * @return the extension points known to this plug-in registry
- */
-public IExtensionPoint[] getExtensionPoints();
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * plug-in.  If there are multiple versions of the identified plug-in,
- * one will be non-deterministically chosen and returned.  
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"com.example.acme"</code>).
- * @return the plug-in descriptor, or <code>null</code>
- */
-public IPluginDescriptor getPluginDescriptor(String pluginId);
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * and version in this plug-in registry, or <code>null</code> if 
- * there is no such plug-in.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param version plug-in version identifier. If <code>null</code> is specified,
- * a non-deterministically chosen version of the identified plug-in (if any)
- * will be returned
- * @return the plug-in descriptor, or <code>null</code>
- */
-public IPluginDescriptor getPluginDescriptor(String pluginId, PluginVersionIdentifier version);
-/**
- * Returns all plug-in descriptors known to this plug-in registry.
- * Returns an empty array if there are no installed plug-ins.
- *
- * @return the plug-in descriptors known to this plug-in registry
- */
-public IPluginDescriptor[] getPluginDescriptors();
-/**
- * Returns all versions of the identified plug-in descriptor
- * known to this plug-in registry.
- * Returns an empty array if there are no plug-ins
- * with the specified identifier.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the plug-in descriptors known to this plug-in registry
- */
-public IPluginDescriptor[] getPluginDescriptors(String pluginId);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
deleted file mode 100644
index f13cf46..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * The <code>IProgressMonitor</code> interface is implemented
- * by objects that monitor the progress of an activity; the methods
- * in this interface are invoked by code that performs the activity.
- * <p>
- * All activity is broken down into a linear sequence of tasks against
- * which progress is reported. When a task begins, a <code>beginTask(String, int)
- * </code> notification is reported, followed by any number and mixture of 
- * progress reports (<code>worked()</code>) and subtask notifications 
- * (<code>subTask(String)</code>).  When the task is eventually completed, a 
- * <code>done()</code> notification is reported.  After the <code>done()</code>
- * notification, the progress monitor cannot be reused;  i.e., <code>
- * beginTask(String, int)</code> cannot be called again after the call to 
- * <code>done()</code>.
- * </p>
- * <p>
- * A request to cancel an operation can be signaled using the 
- * <code>setCanceled</code> method.  Operations taking a progress
- * monitor are expected to poll the monitor (using <code>isCanceled</code>)
- * periodically and abort at their earliest convenience.  Operation can however 
- * choose to ignore cancelation requests.
- * </p>
- * <p>
- * Since notification is synchronous with the activity itself, the listener should 
- * provide a fast and robust implementation. If the handling of notifications would 
- * involve blocking operations, or operations which might throw uncaught exceptions, 
- * the notifications should be queued, and the actual processing deferred (or perhaps
- * delegated to a separate thread).
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IProgressMonitor {
-
-	/** Constant indicating an unknown amount of work.
-	 */
-	public final static int UNKNOWN = -1;
-	
-/**
- * Notifies that the main task is beginning.  This must only be called once
- * on a given progress monitor instance.
- * 
- * @param name the name (or description) of the main task
- * @param totalWork the total number of work units into which
- *  the main task is been subdivided. If the value is <code>UNKNOWN</code> 
- *  the implemenation is free to indicate progress in a way which 
- *  doesn't require the total number of work units in advance.
- */
-public void beginTask(String name, int totalWork);
-/**
- * Notifies that the work is done; that is, either the main task is completed 
- * or the user canceled it. This method may be called more than once 
- * (implementations should be prepared to handle this case).
- */
-public void done();
-/**
- * Internal method to handle scaling correctly. This method
- * must not be called by a client. Clients should 
- * always use the method </code>worked(int)</code>.
- */
-public void internalWorked(double work);
-/**
- * Returns whether cancelation of current operation has been requested.
- * Long-running operations should poll to see if cancelation
- * has been requested.
- *
- * @return <code>true</code> if cancellation has been requested,
- *    and <code>false</code> otherwise
- * @see #setCanceled
- */
-public boolean isCanceled();
-/**
- * Sets the cancel state to the given value.
- * 
- * @param value <code>true</code> indicates that cancelation has
- *     been requested (but not necessarily acknowledged);
- *     <code>false</code> clears this flag
- *
- * @see #isCanceled
- */
-public void setCanceled(boolean value);
-/**
- * Sets the task name to the given value. This method is used to 
- * restore the task label after a nested operation was executed. 
- * Normally there is no need for clients to call this method.
- *
- * @param name the name (or description) of the main task
- * @see #beginTask(java.lang.String, int)
- */
-public void setTaskName(String name);
-/**
- * Notifies that a subtask of the main task is beginning.
- * Subtasks are optional; the main task might not have subtasks.
- *
- * @param name the name (or description) of the subtask
- */
-public void subTask(String name);
-/**
- * Notifies that a given number of work unit of the main task
- * has been completed. Note that this amount represents an
- * installment, as opposed to a cumulative amount of work done
- * to date.
- *
- * @param work the number of work units just completed
- */
-public void worked(int work);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
deleted file mode 100644
index 53d41fc..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * Safe runnables represent blocks of code and associated exception
- * handlers.  They are typically used when a plug-in needs to call some
- * untrusted code (e.g., code contributed by another plug-in via an
- * extension).
-* <p>
- * Clients may implement this interface.
- * </p>
- * 
- * @see Platform#run
- */
-public interface ISafeRunnable {
-/**
- * Handles an exception thrown by this runnable's <code>run</code>
- * method.  The processing done here should be specific to the
- * particular usecase for this runnable.  Generalized exception
- * processing (e.g., logging in the platform's log) is done by the
- * Platform's run mechanism.
- *
- * @param exception an exception which occurred during processing
- *		the body of this runnable (i.e., in <code>run()</code>)
- * @see Platform#run
- */
-public void handleException(Throwable exception);
-/**
- * Runs this runnable.  Any exceptions thrown from this method will
- * be passed to this runnable's <code>handleException</code>
- * method.
- *
- * @exception Exception if a problem occurred while running this method.
- *		The exception will be processed by <code>handleException</code>
- * @see Platform#run
- */
-public void run() throws Exception;
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
deleted file mode 100644
index ede0e4a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A status object represents the outcome of an operation.
- * All <code>CoreException</code>s carry a status object to indicate 
- * what went wrong. Status objects are also returned by methods needing 
- * to provide details of failures (e.g., validation methods).
- * <p>
- * A status carries the following information:
- * <ul>
- * <li> plug-in identifier (required)</li>
- * <li> severity (required)</li>
- * <li> status code (required)</li>
- * <li> message (required) - localized to current locale</li>
- * <li> exception (optional) - for problems stemming from a failure at
- *    a lower level</li>
- * </ul>
- * Some status objects, known as multi-statuses, have other status objects 
- * as children.
- * </p>
- * <p>
- * The class <code>Status</code> is the standard public implementation
- * of status objects; the subclass <code>MultiStatus</code> is the
- * implements multi-status objects.
- * </p>
- * @see MultiStatus
- * @see Status
- */
-public interface IStatus {
-	
-	/** Status severity constant (value 0) indicating this status represents the nominal case.
-	 * This constant is also used as the status code representing the nominal case.
-	 * @see #getSeverity
-	 * @see #isOK
- 	 */
-	public static final int OK = 0;
-
-	/** Status type severity (bit mask, value 1) indicating this status is informational only.
-	 * @see #getSeverity
-	 * @see #matches
- 	 */
-	public static final int INFO = 1;
-
-	/** Status type severity (bit mask, value 2) indicating this status represents a warning.
-	 * @see #getSeverity
-	 * @see #matches
- 	 */
-	public static final int WARNING = 2;
-
-	/** Status type severity (bit mask, value 4) indicating this status represents an error.
-	 * @see #getSeverity
-	 * @see #matches
- 	 */
-	public static final int ERROR = 4;
-/**
- * Returns a list of status object immediately contained in this
- * multi-status, or an empty list if this is not a multi-status.
- *
- * @return an array of status objects
- * @see #isMultiStatus
- */
-public IStatus[] getChildren();
-/**
- * Returns the plug-in-specific status code describing the outcome.
- *
- * @return plug-in-specific status code
- */
-public int getCode();
-/**
- * Returns the relevant low-level exception, or <code>null</code> if none. 
- * For example, when an operation fails because of a network communications
- * failure, this might return the <code>java.io.IOException</code>
- * describing the exact nature of that failure.
- *
- * @return the relevant low-level exception, or <code>null</code> if none
- */
-public Throwable getException();
-/**
- * Returns the message describing the outcome.
- * The message is localized to the current locale.
- *
- * @return a localized message
- */
-public String getMessage();
-/**
- * Returns the unique identifier of the plug-in associated with this status
- * (this is the plug-in that defines the meaning of the status code).
- *
- * @return the unique identifier of the relevant plug-in
- */
-public String getPlugin();
-/**
- * Returns the severity. The severities are as follows (in
- * descending order):
- * <ul>
- * <li><code>ERROR</code> - a serious error (most severe)</li>
- * <li><code>WARNING</code> - a warning (less severe)</li>
- * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
- * <li><code>OK</code> - everything is just fine</li>
- * </ul>
- * <p>
- * The severity of a multi-status is defined to be the maximum
- * severity of any of its children, or <code>OK</code> if it has
- * no children.
- * </p>
- *
- * @return the severity: one of <code>OK</code>,
- *   <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- * @see #matches
- */
-public int getSeverity();
-/**
- * Returns whether this status is a multi-status.
- * A multi-status describes the outcome of an operation
- * involving multiple operands.
- * <p>
- * The severity of a multi-status is derived from the severities
- * of its children; a multi-status with no children is
- * <code>OK</code> by definition.
- * A multi-status carries a plug-in identifier, a status code,
- * a message, and an optional exception. Clients may treat
- * multi-status objects in a multi-status unaware way.
- * </p>
- *
- * @return <code>true</code> for a multi-status, 
- *    <code>false</code> otherwise
- * @see #getChildren
- */
-public boolean isMultiStatus();
-/**
- * Returns whether this status indicates everything is okay
- * (neither info, warning, nor error).
- *
- * @return <code>true</code> if this status has severity
- *    <code>OK</code>, and <code>false</code> otherwise
- */
-public boolean isOK();
-/**
- * Returns whether the severity of this status matches the given
- * specification.
- *
- * @param severityMask a mask formed by bitwise or'ing severity mask
- *    constants (<code>ERROR</code>, <code>WARNING</code>,
- *    <code>INFO</code>)
- * @return <code>true</code> if there is at least one match, 
- *    <code>false</code> if there are no matches
- * @see #getSeverity
- * @see #ERROR
- * @see #WARNING
- * @see #INFO
- */
-public boolean matches(int severityMask);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
deleted file mode 100644
index 659bb6e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A concrete multi-status implementation, 
- * suitable either for instantiating or subclassing.
- */
-public class MultiStatus extends Status {
-
-	/** List of child statuses.
-	 */
-	private IStatus[] children;
-/**
- * Creates and returns a new multi-status object with the given children.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code
- * @param children the list of children status objects
- * @param message a human-readable message, localized to the
- *    current locale
- * @param exception a low-level exception, or <code>null</code> if not
- *    applicable 
- */
-public MultiStatus(String pluginId, int code, IStatus[] children, String message, Throwable exception) {
-	this(pluginId, code, message, exception);
-	Assert.isLegal(children != null);
-	for (int i = 0; i < children.length; i++) {
-		Assert.isLegal(children[i] != null);
-		add(children[i]);
-	}
-}
-/**
- * Creates and returns a new multi-status object with no children.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code
- * @param message a human-readable message, localized to the
- *    current locale
- * @param exception a low-level exception, or <code>null</code> if not
- *    applicable 
- */
-public MultiStatus(String pluginId, int code, String message, Throwable exception) {
-	super(OK, pluginId, code, message, exception);
-	children = new IStatus[0];
-}
-/**
- * Adds the given status to this multi-status.
- *
- * @param status the new child status
- */
-public void add(IStatus status) {
-	Assert.isLegal(status != null);
-	IStatus[] result = new IStatus[children.length + 1];
-	System.arraycopy(children, 0, result, 0, children.length);
-	result[result.length - 1] = status;
-	children = result;
-	int newSev = status.getSeverity();
-	if (newSev > getSeverity()) {
-		setSeverity(newSev);
-	}
-}
-/**
- * Adds all of the children of the given status to this multi-status.
- * Does nothing if the given status has no children (which includes
- * the case where it is not a multi-status).
- *
- * @param status the status whose children are to be added to this one
- */
-public void addAll(IStatus status) {
-	Assert.isLegal(status != null);
-	IStatus[] statuses = status.getChildren();
-	for (int i = 0; i < statuses.length; i++) {
-		add(statuses[i]);
-	}
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public IStatus[] getChildren() {
-	return children;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isMultiStatus() {
-	return true;
-}
-/**
- * Merges the given status into this multi-status.
- * Equivalent to <code>add(status)</code> if the
- * given status is not a multi-status. 
- * Equivalent to <code>addAll(status)</code> if the
- * given status is a multi-status. 
- *
- * @param status the status to merge into this one
- * @see #add
- * @see #addAll
- */
-public void merge(IStatus status) {
-	Assert.isLegal(status != null);
-	if (!status.isMultiStatus()) {
-		add(status);
-	} else {
-		addAll(status);
-	}
-}
-/**
- * Returns a string representation of the status, suitable 
- * for debugging purposes only.
- */
-public String toString() {
-	StringBuffer buf = new StringBuffer(super.toString());
-	buf.append(" children=["); //$NON-NLS-1$
-	for (int i = 0; i < children.length; i++) {
-		if (i != 0) {
-			buf.append(" "); //$NON-NLS-1$
-		}
-		buf.append(children[i].toString());
-	}
-	buf.append("]"); //$NON-NLS-1$
-	return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
deleted file mode 100644
index 3460361..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A default progress monitor implementation suitable for
- * subclassing.
- * <p>
- * This implementation supports cancelation. The default
- * implementations of the other methods do nothing.
- * </p>
- */
-public class NullProgressMonitor implements IProgressMonitor {
-
-	/**
-	 * Indicates whether cancel has been requested.
-	 */
-	private boolean cancelled = false;
-/**
- * Constructs a new progress monitor.
- */
-public NullProgressMonitor() {
-}
-/**
- * This implementation does nothing. 
- * Subclasses may override this method to do interesting
- * processing when a task begins.
- * 
- * @see IProgressMonitor#beginTask
- */
-public void beginTask(String name, int totalWork) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when a task is done.
- * 
- * @see IProgressMonitor#done
- */
-public void done() {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method.
- * 
- * @see IProgressMonitor#internalWorked
- */
-public void internalWorked(double work) {
-}
-/**
- * This implementation returns the value of the internal 
- * state variable set by <code>setCanceled</code>.
- * Subclasses which override this method should
- * override <code>setCanceled</code> as well.
- *
- * @see IProgressMonitor#isCanceled
- * @see IProgressMonitor#setCanceled
- */
-public boolean isCanceled() {
-	return cancelled;
-}
-/**
- * This implementation sets the value of an internal state variable.
- * Subclasses which override this method should override 
- * <code>isCanceled</code> as well.
- *
- * @see IProgressMonitor#isCanceled
- * @see IProgressMonitor#setCanceled
- */
-public void setCanceled(boolean cancelled) {
-	this.cancelled = cancelled;
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do something
- * with the name of the task.
- * 
- * @see IProgressMonitor#setTaskName
- */
-public void setTaskName(String name) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when a subtask begins.
- * 
- * @see IProgressMonitor#subTask
- */
-public void subTask(String name) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when some work has been completed.
- * 
- * @see IProgressMonitor#worked
- */
-public void worked(int work) {
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
deleted file mode 100644
index 26dc327..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * This exception is thrown to blow out of a long-running method 
- * when the user cancels it.
- */
-public final class OperationCanceledException extends RuntimeException {
-/**
- * Creates a new exception.
- */
-public OperationCanceledException() {
-	super();
-}
-/**
- * Creates a new exception with the given message.
- */
-public OperationCanceledException(String message) {
-	super(message);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
deleted file mode 100644
index 07f9c0e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
+++ /dev/null
@@ -1,851 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.File;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/** 
- * The standard implementation of the <code>IPath</code> interface.
- * Paths are always maintained in canonicalized form.  That is, parent
- * references (i.e., <code>../../</code>) and duplicate separators are 
- * resolved.  For example,
- * <pre>     new Path("/a/b").append("../foo/bar")</pre>
- * will yield the path
- * <pre>     /a/foo/bar</pre>
- * <p>
- * This class is not intended to be subclassed by clients but
- * may be instantiated.
- * </p>
- * @see IPath
- */
-public class Path implements IPath, Cloneable {
-	
-	/** The path segments */
-	private String[] segments;
-
-	/** The device id string. May be null if there is no device. */
-	private String device = null;
-	
-	/** flags indicating separators (has leading, is UNC, has trailing) */
-	private int separators;
-	
-	/** masks for separator values */
-	private static final int HAS_LEADING = 1;
-	private static final int IS_UNC = 2;
-	private static final int HAS_TRAILING = 4;
-	private static final int ALL_SEPARATORS = HAS_LEADING | IS_UNC | HAS_TRAILING;
-	
-	/** Mask for all bits that are involved in the hashcode */
-	private static final int HASH_MASK = ~HAS_TRAILING;
-		
-	/** Constant value indicating no segments */
-	private static final String[] NO_SEGMENTS = new String[0];
-
-	/** Constant root path string (<code>"/"</code>). */
-	private static final String ROOT_STRING = "/"; //$NON-NLS-1$
-
-	/** Constant value containing the root path with no device. */
-	public static final Path ROOT = new Path(ROOT_STRING);
-
-	/** Constant empty string value. */
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	/** Constant value containing the empty path with no device. */
-	public static final Path EMPTY = new Path(EMPTY_STRING);
-
-	//Private implementation note: the segments and separators 
-	//arrays are never modified, so that they can be shared between 
-	//path instances
-	
-/* (Intentionally not included in javadoc)
- * Private constructor.
- */
-private Path() {
-}
-/* (Intentionally not included in javadoc)
- * Private constructor.
- */
-private Path(String device, String[] segments, int _separators) {
-	// no segment validations are done for performance reasons	
-	this.segments = segments;
-	this.device = device;
-	//hashcode is cached in all but the bottom three bits of the separators field
-	this.separators = (computeHashCode() << 3) | (_separators & ALL_SEPARATORS);
-}
-
-/** 
- * Constructs a new path from the given string path.
- * The given string path must be valid.
- * The path is canonicalized and double slashes are removed
- * except at the beginning. (to handle UNC paths) All backslashes ('\')
- * are replaced with forward slashes. ('/')
- *
- * @param fullPath the string path
- * @see #isValidPath
- */
-public Path(String fullPath) {
-	// no segment validations are done for performance reasons 
-	initialize(null, fullPath);
-}
-/** 
- * Constructs a new path from the given device id and string path.
- * The given string path must be valid.
- * The path is canonicalized and double slashes are removed except
- * at the beginning (to handle UNC paths). All backslashes ('\')
- * are replaced with forward slashes. ('/')
- *
- * @param device the device id
- * @param path the string path
- * @see #isValidPath
- * @see #setDevice
- */
-public Path(String device, String path) {
-	// no segment validations are done for performance reasons
-	initialize(device, path);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#addFileExtension
- */
-public IPath addFileExtension(String extension) {
-	if (isRoot() || isEmpty() || hasTrailingSeparator())
-		return this;
-	int len = segments.length;
-	String[] newSegments = new String[len];
-	System.arraycopy(segments, 0, newSegments, 0, len-1);
-	newSegments[len-1] = segments[len-1] + "." + extension; //$NON-NLS-1$
-	return new Path(device, newSegments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#addTrailingSeparator
- */
-public IPath addTrailingSeparator() {
-	if (hasTrailingSeparator() || isRoot()) {
-		return this;
-	}
-	//XXX workaround, see 1GIGQ9V
-	if (isEmpty()) {
-		return new Path(device, segments, HAS_LEADING);
-	}
-	return new Path(device, segments, separators | HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#append(java.lang.String)
- */
-public IPath append(String tail) {
-	//optimize addition of a single segment
-	if (tail.indexOf(SEPARATOR) == -1 && tail.indexOf("\\") == -1) { //$NON-NLS-1$
-		int tailLength = tail.length();
-		if (tailLength < 3) {
-			//some special cases
-			if (tailLength == 0 || ".".equals(tail)) { //$NON-NLS-1$
-				return this;
-			}
-			if ("..".equals(tail)) //$NON-NLS-1$
-				return removeLastSegments(1);
-		}
-		//just add the segment
-		int myLen = segments.length;
-		String[] newSegments = new String[myLen+1];
-		System.arraycopy(segments, 0, newSegments, 0, myLen);
-		newSegments[myLen] = tail;
-		return new Path(device, newSegments, separators & ~HAS_TRAILING);
-	}
-	if (this.isEmpty())
-		return new Path(device, tail).makeRelative();
-	if (this.isRoot())
-		return new Path(device, tail).makeAbsolute();
-
-	//go with easy implementation for now
-	return append(new Path(tail));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#append(IPath)
- */
-public IPath append(IPath tail) {
-	//optimize some easy cases
-	if (tail == null || tail.isEmpty() || tail.isRoot())
-		return this;
-	if (this.isEmpty())
-		return tail.setDevice(device).makeRelative();
-	if (this.isRoot())
-		return tail.setDevice(device).makeAbsolute();
-	
-	//concatenate the two segment arrays
-	int myLen = segments.length;
-	int tailLen = tail.segmentCount();
-	String[] newSegments = new String[myLen+tailLen];
-	System.arraycopy(segments, 0, newSegments, 0, myLen);
-	for (int i = 0; i < tailLen; i++) {
-		newSegments[myLen+i] = tail.segment(i);
-	}
-	//use my leading separators and the tail's trailing separator
-	Path result = new Path(device, newSegments, 
-		(separators & (HAS_LEADING | IS_UNC)) | (tail.hasTrailingSeparator() ? HAS_TRAILING : 0));
-	String tailFirstSegment = newSegments[myLen];
-	if (tailFirstSegment.equals("..") || tailFirstSegment.equals(".")) { //$NON-NLS-1$ //$NON-NLS-2$
-		result.canonicalize();
-	}
-	return result;
-}
-/**
- * Destructively converts this path to its canonical form.
- * <p>
- * In its canonical form, a path does not have any
- * "." segments, and parent references ("..") are collapsed
- * where possible.
- * </p>
- * @return true if the path was modified, and false otherwise.
- */
-private boolean canonicalize() {
-	//look for segments that need canonicalizing
-	for (int i = 0, max = segments.length; i < max; i++) {
-		String segment = segments[i];
-		if (segment.charAt(0) == '.' && (segment.equals("..") || segment.equals("."))) { //$NON-NLS-1$ //$NON-NLS-2$
-			//path needs to be canonicalized
-			collapseParentReferences();
-			//paths of length 0 have no trailing separator
-			if (segments.length == 0)
-				separators &= (HAS_LEADING | IS_UNC);
-			//recompute hash because canonicalize affects hash
-			separators = (separators & ALL_SEPARATORS) | (computeHashCode() << 3);
-			return true;
-		}
-	}
-	return false;
-}
-/* (Intentionally not included in javadoc)
- * Clones this object.
- */
-public Object clone() {
-	try {
-		return super.clone();
-	} catch (CloneNotSupportedException e) {
-		return null;
-	}
-}
-/**
- * Destructively removes all occurrences of ".." segments from this path.
- */
-private void collapseParentReferences() {
-	int segmentCount = segments.length;
-	String[] stack = new String[segmentCount];
-	int stackPointer = 0;
-	for (int i = 0; i < segmentCount; i++) {
-		String segment = segments[i];
-		if (segment.equals("..")) { //$NON-NLS-1$
-			if (stackPointer==0) {
-				// if the stack is empty we are going out of our scope 
-				// so we need to accumulate segments.  But only if the original
-				// path is relative.  If it is absolute then we can't go any higher than
-				// root so simply toss the .. references.
-				if (!isAbsolute())					
-					stack[stackPointer++] = segment;//stack push
-			} else {
-				// if the top is '..' then we are accumulating segments so don't pop
-				if ("..".equals(stack[stackPointer-1])) //$NON-NLS-1$
-					stack[stackPointer++] = ".."; //$NON-NLS-1$
-				else
-					stackPointer--;//stack pop
-			}
-			//collapse current references
-		} else
-			if (!segment.equals(".") || (i == 0 && !isAbsolute())) //$NON-NLS-1$
-				stack[stackPointer++] = segment;//stack push
-	}
-	//if the number of segments hasn't changed, then no modification needed
-	if (stackPointer== segmentCount)
-		return;
-	//build the new segment array backwards by popping the stack
-	String[] newSegments = new String[stackPointer];
-	System.arraycopy(stack, 0, newSegments, 0, stackPointer);
-	this.segments = newSegments;
-}
-/**
- * Removes duplicate slashes from the given path, with the exception
- * of leading double slash which represents a UNC path.
- */
-private String collapseSlashes(String path) {
-	int length = path.length();
-	// if the path is only 0, 1 or 2 chars long then it could not possibly have illegal
-	// duplicate slashes.
-	if (length < 3)
-		return path;
-	// check for an occurence of // in the path.  Start at index 1 to ensure we skip leading UNC //
-	// If there are no // then there is nothing to collapse so just return.
-	if (path.indexOf("//", 1) == -1) //$NON-NLS-1$
-		return path;
-	// We found an occurence of // in the path so do the slow collapse.
-	char[] result = new char[path.length()];
-	int count = 0;
-	boolean hasPrevious = false;
-	char[] characters = path.toCharArray();
-	for (int index = 0; index < characters.length; index++) {
-		char c = characters[index];
-		if (c == SEPARATOR) {
-			if (hasPrevious) {
-				// skip double slashes, except for beginning of UNC.
-				// note that a UNC path can't have a device.
-				if (device == null && index == 1) {
-					result[count] = c;
-					count++;
-				}
-			} else {
-				hasPrevious = true;
-				result[count] = c;
-				count++;
-			}
-		} else {
-			hasPrevious = false;
-			result[count] = c;
-			count++;
-		}
-	}
-	return new String(result, 0, count);
-}
-/* (Intentionally not included in javadoc)
- * Computes the hash code for this object.
- */
-private int computeHashCode() {
-	int hash = device == null ? 17 : device.hashCode();
-	int segmentCount = segments.length;
-	for (int i = 0; i < segmentCount; i++) {
-		//this function tends to given a fairly even distribution
-		hash = hash * 37 + segments[i].hashCode();
-	}
-	return hash;
-}
-/* (Intentionally not included in javadoc)
- * Returns the size of the string that will be created by toString or toOSString.
- */
-private int computeLength() {
-	int length = 0;
-	if (device != null)
-		length += device.length();
-	if ((separators & HAS_LEADING) != 0) 
-		length ++;
-	if ((separators & IS_UNC) != 0)
-		length++;
-	//add the segment lengths
-	int max = segments.length;
-	if (max > 0) {
-		for (int i = 0; i < max; i++) {
-			length += segments[i].length();
-		}
-		//add the separator lengths
-		length += max-1;
-	}
-	if ((separators & HAS_TRAILING) != 0) 
-		length++;
-	return length;
-}
-/* (Intentionally not included in javadoc)
- * Returns the number of segments in the given path
- */
-private int computeSegmentCount(String path) {
-	int len = path.length();
-	if (len == 0 || (len == 1 && path.charAt(0) == SEPARATOR)) {
-		return 0;
-	}
-	int count = 1;
-	int prev = -1;
-	int i;
-	while ((i = path.indexOf(SEPARATOR, prev + 1)) != -1) {
-		if (i != prev + 1 && i != len) {
-			++count;
-		}
-		prev = i;
-	}
-	if (path.charAt(len - 1) == SEPARATOR) {
-		--count;
-	}
-	return count;
-}
-/**
- * Computes the segment array for the given canonicalized path.
- */
-private String[] computeSegments(String path) {
-	// performance sensitive --- avoid creating garbage
-	int segmentCount = computeSegmentCount(path);
-	if (segmentCount == 0)
-		return NO_SEGMENTS;
-	String[] newSegments = new String[segmentCount];
-	int len = path.length();
-	// check for initial slash
-	int firstPosition = (path.charAt(0) == SEPARATOR) ? 1 : 0;
-	// check for UNC
-	if (firstPosition == 1 && len > 1 && (path.charAt(1) == SEPARATOR))
-		firstPosition = 2;
-	int lastPosition = (path.charAt(len - 1) != SEPARATOR) ? len - 1 : len - 2;
-	// for non-empty paths, the number of segments is 
-	// the number of slashes plus 1, ignoring any leading
-	// and trailing slashes
-	int next = firstPosition;
-	for (int i = 0; i < segmentCount; i++) {
-		int start = next;
-		int end = path.indexOf(SEPARATOR, next);
-		if (end == -1) {
-			newSegments[i] = path.substring(start, lastPosition + 1);
-		} else {
-			newSegments[i] = path.substring(start, end);
-		}
-		next = end + 1;
-	}
-	return newSegments;
-}
-/* (Intentionally not included in javadoc)
- * Compares objects for equality.
- */
-public boolean equals(Object obj) {
-	if (this == obj)
-		return true;
-	if (!(obj instanceof Path))
-		return false;
-	Path target = (Path)obj;
-	//check leading separators and hashcode
-	if ((separators & HASH_MASK) != (target.separators & HASH_MASK))
-		return false;
-	String[] targetSegments = target.segments;
-	int i = segments.length;
-	//check segment count
-	if (i != targetSegments.length)
-		return false;
-	//check segments in reverse order - later segments more likely to differ
-	while (--i >= 0)
-		if (!segments[i].equals(targetSegments[i]))
-			return false;
-	//check device last (least likely to differ)
-	return device == target.device || (device != null && device.equals(target.device));
-}
-
-/* (Intentionally not included in javadoc)
- * @see IPath#getDevice
- */
-public String getDevice() {
-	return device;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#getFileExtension
- */
-public String getFileExtension() {
-	if (hasTrailingSeparator()) {
-		return null;
-	}
-	String lastSegment = lastSegment();
-	if (lastSegment == null) {
-		return null;
-	}
-	int index = lastSegment.lastIndexOf("."); //$NON-NLS-1$
-	if (index == -1) {
-		return null;
-	}
-	return lastSegment.substring(index + 1);
-}
-/* (Intentionally not included in javadoc)
- * Computes the hash code for this object.
- */
-public int hashCode() {
-	return separators & HASH_MASK;
-}
-
-/* (Intentionally not included in javadoc)
- * @see IPath#hasTrailingSeparator
- */
-public boolean hasTrailingSeparator() {
-	return (separators & HAS_TRAILING) != 0;
-}
-/*
- * Initialize the current path with the given string.
- */
-private void initialize(String device, String fullPath) {
-	Assert.isNotNull(fullPath);
-	this.device = device;
-
-	//indexOf is much faster than replace
-	String path = fullPath.indexOf('\\') == -1 ? fullPath : fullPath.replace('\\', SEPARATOR);
-	
-	int i = path.indexOf(DEVICE_SEPARATOR);
-	if (i != -1) {
-		// if the specified device is null then set it to
-		// be whatever is defined in the path string
-		if (device == null)
-			this.device = path.substring(0, i + 1);
-		path = path.substring(i + 1, path.length());
-	}
-	path = collapseSlashes(path);
-	int len = path.length();
-
-	//compute the separators array
-	if (len < 2) {
-		if (len == 1 && path.charAt(0) == SEPARATOR) {
-			this.separators = HAS_LEADING;
-		} else {
-			this.separators = 0;
-		}
-	} else {
-		boolean hasLeading = path.charAt(0) == SEPARATOR;
-		boolean isUNC = hasLeading && path.charAt(1) == SEPARATOR;
-		//UNC path of length two has no trailing separator
-		boolean hasTrailing = !(isUNC && len == 2) && path.charAt(len-1) == SEPARATOR;
-		separators = hasLeading ? HAS_LEADING : 0;
-		if (isUNC) separators |= IS_UNC;
-		if (hasTrailing) separators |= HAS_TRAILING;
-	}
-	//compute segments and ensure canonical form
-	segments = computeSegments(path);
-	if (!canonicalize()) {
-		//compute hash now because canonicalize didn't need to do it
-		separators = (separators & ALL_SEPARATORS) | (computeHashCode() << 3);
-	}
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isAbsolute
- */
-public boolean isAbsolute() {
-	//it's absolute if it has a leading separator
-	return (separators & HAS_LEADING) != 0;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isEmpty
- */
-public boolean isEmpty() {
-	//true if no segments and no leading prefix
-	return segments.length == 0 && ((separators & HAS_LEADING) == 0);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isPrefixOf
- */
-public boolean isPrefixOf(IPath anotherPath) {
-	Assert.isNotNull(anotherPath);
-	if (device == null) {
-		if (anotherPath.getDevice() != null) {
-			return false;
-		}
-	} else {
-		if (!device.equalsIgnoreCase(anotherPath.getDevice())) {
-			return false;
-		}
-	}
-	if (isEmpty() || (isRoot() && anotherPath.isAbsolute())) {
-		return true;
-	}
-	int len = segments.length;
-	if (len > anotherPath.segmentCount()) {
-		return false;
-	}
-	for (int i = 0; i < len; i++) {
-		if (!segments[i].equals(anotherPath.segment(i)))
-			return false;
-	}
-	return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isRoot
- */
-public boolean isRoot() {
-	//must have no segments, a leading separator, and not be a UNC path.
-	return this == ROOT || (segments.length == 0 && ((separators & ALL_SEPARATORS) == HAS_LEADING));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isUNC
- */
-public boolean isUNC() {
-	if (device != null) 
-		return false;
-	return (separators & IS_UNC) != 0;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isValidPath
- */
-public boolean isValidPath(String path) {
-	// We allow "//" at the beginning for UNC paths
-	if (path.indexOf("//") > 0) { //$NON-NLS-1$
-		return false;
-	}
-	Path test = new Path(path);
-	int segmentCount = test.segmentCount();
-	for (int i = 0; i < segmentCount; i++) {
-		if (!test.isValidSegment(test.segment(i))) {
-			return false;
-		}
-	}
-	return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isValidSegment
- */
-public boolean isValidSegment(String segment) {
-	int size = segment.length();
-	if (size == 0) {
-		return false;
-	}
-	if (Character.isWhitespace(segment.charAt(0)) || Character.isWhitespace(segment.charAt(size - 1))) {
-		return false;
-	}
-	for (int i = 0; i < size; i++) {
-		char c = segment.charAt(i);
-		if (c == '/' || c == '\\' || c == ':') {
-			return false;
-		}
-	}
-	return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#lastSegment
- */
-public String lastSegment() {
-	int len = segments.length;
-	return len == 0 ? null : segments[len-1];
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeAbsolute
- */
-public IPath makeAbsolute() {
-	if (isAbsolute()) {
-		return this;
-	}
-	Path result = new Path(device, segments, separators | HAS_LEADING);
-	//may need canonicalizing if it has leading ".." or "." segments
-	if (result.segmentCount() > 0) {
-		String first = result.segment(0);
-		if (first.equals("..") || first.equals(".")) { //$NON-NLS-1$ //$NON-NLS-2$
-			result.canonicalize();
-		}
-	}
-	return result;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeRelative
- */
-public IPath makeRelative() {
-	if (!isAbsolute()) {
-		return this;
-	}
-	return new Path(device, segments, separators & HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeUNC
- */
-public IPath makeUNC(boolean toUNC) {
-	// if we are already in the right form then just return
-	if (!(toUNC ^ isUNC()))
-		return this;
-
-	int newSeparators = this.separators;
-	if (toUNC) {
-		newSeparators |= HAS_LEADING | IS_UNC;
-	} else {
-		//mask out the UNC bit
-		newSeparators &= HAS_LEADING | HAS_TRAILING;
-	}
-	return new Path(toUNC ? null : device, segments, newSeparators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#matchingFirstSegments
- */
-public int matchingFirstSegments(IPath anotherPath) {
-	Assert.isNotNull(anotherPath);
-	int anotherPathLen = anotherPath.segmentCount();
-	int max = Math.min(segments.length, anotherPathLen);
-	int count = 0;
-	for (int i = 0; i < max; i++) {
-		if (!segments[i].equals(anotherPath.segment(i))) {
-			return count;
-		}
-		count++;
-	}
-	return count;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeFileExtension
- */
-public IPath removeFileExtension() {
-	String extension = getFileExtension();
-	if (extension == null || extension.equals("")) { //$NON-NLS-1$
-		return this;
-	}
-	String lastSegment = lastSegment();
-	int index = lastSegment.lastIndexOf(extension) - 1;
-	return removeLastSegments(1).append(lastSegment.substring(0, index));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeFirstSegments
- */
-public IPath removeFirstSegments(int count) {
-	if (count == 0)
-		return this;
-	if (count >= segments.length) {
-		return new Path(device, NO_SEGMENTS, 0);
-	}
-	Assert.isLegal(count > 0);
-	int newSize = segments.length - count;
-	String[] newSegments = new String[newSize];
-	System.arraycopy(this.segments, count, newSegments, 0, newSize);
-
-	//result is always a relative path
-	return new Path(device, newSegments, separators & HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeLastSegments
- */
-public IPath removeLastSegments(int count) {
-	if (count == 0)
-		return this;
-	if (count >= segments.length) {
-		//result will have no trailing separator
-		return new Path(device, NO_SEGMENTS, separators & (HAS_LEADING|IS_UNC));
-	}
-	Assert.isLegal(count > 0);
-	int newSize = segments.length - count;
-	String[] newSegments = new String[newSize];
-	System.arraycopy(this.segments, 0, newSegments,0, newSize);
-	return new Path(device, newSegments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeTrailingSeparator
- */
-public IPath removeTrailingSeparator() {
-	if (!hasTrailingSeparator()) {
-		return this;
-	}
-	return new Path(device, segments, separators & (HAS_LEADING | IS_UNC));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segment
- */
-public String segment(int index) {
-	if (index >= segments.length)
-		return null;
-	return segments[index];
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segmentCount
- */
-public int segmentCount() {
-	return segments.length;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segments
- */
-public String[] segments() {
-	String[] segmentCopy = new String[segments.length];
-	System.arraycopy(segments, 0, segmentCopy, 0, segments.length);
-	return segmentCopy;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#setDevice
- */
-public IPath setDevice(String value) {
-	if (value != null) {
-		Assert.isTrue(value.indexOf(IPath.DEVICE_SEPARATOR) == (value.length() - 1), "Last character should be the device separator"); //$NON-NLS-1$
-	}
-	//return the reciever if the device is the same
-	if (value == device || (value != null && value.equals(device)))
-		return this;
-
-	return new Path(value, segments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toFile
- */
-public File toFile() {
-	return new File(toOSString());
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toOSString
- */
-public String toOSString() {
-	//Note that this method is identical to toString except
-	//it uses the OS file separator instead of the path separator
-	int resultSize = computeLength();
-	if (resultSize <= 0)
-		return EMPTY_STRING;
-	char FILE_SEPARATOR = File.separatorChar;
-	char[] result = new char[resultSize];
-	int offset = 0;
-	if (device != null) {
-		int size = device.length();
-		device.getChars(0, size, result, offset);
-		offset += size;
-	}
-	if ((separators & HAS_LEADING) != 0) 
-		result[offset++] = FILE_SEPARATOR;
-	if ((separators & IS_UNC) != 0)
-		result[offset++] = FILE_SEPARATOR;
-	int len = segments.length-1;
-	if (len>=0) {
-		//append all but the last segment, with separators
-		for (int i = 0; i < len; i++) {
-			int size = segments[i].length();
-			segments[i].getChars(0, size, result, offset);
-			offset += size;
-			result[offset++] = FILE_SEPARATOR;
-		}
-		//append the last segment
-		int size = segments[len].length();
-		segments[len].getChars(0, size, result, offset);
-		offset += size;
-	}
-	if ((separators & HAS_TRAILING) != 0) 
-		result[offset++] = FILE_SEPARATOR;
-	return new String(result);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toString
- */
-public String toString() {
-	int resultSize = computeLength();
-	if (resultSize <= 0)
-		return EMPTY_STRING;
-	char[] result = new char[resultSize];
-	int offset = 0;
-	if (device != null) {
-		int size = device.length();
-		device.getChars(0, size, result, offset);
-		offset += size;
-	}
-	if ((separators & HAS_LEADING) != 0) 
-		result[offset++] = SEPARATOR;
-	if ((separators & IS_UNC) != 0)
-		result[offset++] = SEPARATOR;
-	int len = segments.length-1;
-	if (len>=0) {
-		//append all but the last segment, with separators
-		for (int i = 0; i < len; i++) {
-			int size = segments[i].length();
-			segments[i].getChars(0, size, result, offset);
-			offset += size;
-			result[offset++] = SEPARATOR;
-		}
-		//append the last segment
-		int size = segments[len].length();
-		segments[len].getChars(0, size, result, offset);
-		offset += size;
-	}
-	if ((separators & HAS_TRAILING) != 0) 
-		result[offset++] = SEPARATOR;
-	return new String(result);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#uptoSegment
- */
-public IPath uptoSegment(int count) {
-	if (count == 0)
-		return Path.EMPTY;
-	if (count >= segments.length)
-		return this;
-	Assert.isTrue(count > 0, "Invalid parameter to Path.uptoSegment"); //$NON-NLS-1$
-	String[] newSegments = new String[count];
-	System.arraycopy(segments, 0, newSegments, 0, count);
-	return new Path(device, newSegments, separators);
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
deleted file mode 100644
index 43ad2af..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.model.Factory;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
-
-/**
- * The central class of the Eclipse Platform Runtime. This class cannot
- * be instantiated or subclassed by clients; all functionality is provided 
- * by static methods.  Features include:
- * <ul>
- * <li>the platform registry of installed plug-ins</li>
- * <li>the platform adapter manager</li>
- * <li>the platform log</li>
- * <li>the authorization info management</li>
- * </ul>
- * <p>
- * The platform is in one of two states, running or not running, at all
- * times. The only ways to start the platform running, or to shut it down,
- * are on the bootstrap <code>BootLoader</code> class. Code in plug-ins will
- * only observe the platform in the running state. The platform cannot
- * be shutdown from inside (code in plug-ins have no access to
- * <code>BootLoader</code>).
- * </p>
- */
-public final class Platform {
-	/**
-	 * The unique identifier constant (value "<code>org.eclipse.core.runtime</code>")
-	 * of the Core Runtime (pseudo-) plug-in.
-	 */
-	public static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-
-	/** 
-	 * The simple identifier constant (value "<code>applications</code>") of
-	 * the extension point of the Core Runtime plug-in where plug-ins declare
-	 * the existence of runnable applications. A plug-in may define any
-	 * number of applications; however, the platform is only capable
-	 * of running one application at a time.
-	 * 
-	 * @see org.eclipse.core.boot.BootLoader#run
-	 */
-	public static final String PT_APPLICATIONS = "applications";	 //$NON-NLS-1$
-	
-	/** 
-	 * Debug option value denoting the time at which the platform runtime
-	 * was started.  This constant can be used in conjunction with
-	 * <code>getDebugOption</code> to find the string value of
-	 * <code>System.currentTimeMillis()</code> when the platform was started.
- 	 */
-	public static final String OPTION_STARTTIME = PI_RUNTIME + "/starttime"; //$NON-NLS-1$
-
-	/** 
-	 * Status code constant (value 1) indicating a problem in a plug-in
-	 * manifest (<code>plugin.xml</code>) file.
- 	 */
-	public static final int PARSE_PROBLEM = 1;
-
-	/**
-	 * Status code constant (value 2) indicating an error occurred while running a plug-in.
- 	 */
-	public static final int PLUGIN_ERROR = 2;
-
-	/**
-	 * Status code constant (value 3) indicating an error internal to the
-	 * platform has occurred.
- 	 */
-	public static final int INTERNAL_ERROR = 3;
-	
-	/**
-	 * Status code constant (value 4) indicating the platform could not read
-	 * some of its metadata.
- 	 */
-	public static final int FAILED_READ_METADATA = 4;
-	
-	/**
-	 * Status code constant (value 5) indicating the platform could not write
-	 * some of its metadata.
- 	 */
-	public static final int FAILED_WRITE_METADATA = 5;
-	
-	/**
-	 * Status code constant (value 6) indicating the platform could not delete
-	 * some of its metadata.
- 	 */
-	public static final int FAILED_DELETE_METADATA = 6;
-/**
- * Private constructor to block instance creation.
- */
-private Platform() {
-}
-/**
- * Adds the given authorization information to the keyring. The
- * information is relevant for the specified protection space and the
- * given authorization scheme. The protection space is defined by the
- * combination of the given server URL and realm. The authorization 
- * scheme determines what the authorization information contains and how 
- * it should be used. The authorization information is a <code>Map</code> 
- * of <code>String</code> to <code>String</code> and typically
- * contains information such as usernames and passwords.
- *
- * @param serverUrl the URL identifying the server for this authorization
- *		information. For example, "http://www.example.com/".
- * @param realm the subsection of the given server to which this
- *		authorization information applies.  For example,
- *		"realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which this authorization information
- *		applies. For example, "Basic" or "" for no authorization scheme
- * @param info a <code>Map</code> containing authorization information 
- *		such as usernames and passwords (key type : <code>String</code>, 
- *		value type : <code>String</code>)
- * @exception CoreException if there are problems setting the
- *		authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info) throws CoreException {
-	InternalPlatform.addAuthorizationInfo(serverUrl, realm, authScheme, info);
-}
-/** 
- * Adds the given log listener to the notification list of the platform.
- * <p>
- * Once registered, a listener starts receiving notification as entries
- * are added to plug-in logs via <code>ILog.log()</code>. The listener continues to
- * receive notifications until it is replaced or removed.
- * </p>
- *
- * @param listener the listener to register
- * @see ILog#addLogListener
- * @see #removeLogListener
- */
-public static void addLogListener(ILogListener listener) {
-	InternalPlatform.addLogListener(listener);
-}
-/**
- * Adds the specified resource to the protection space specified by the
- * given realm. All targets at or deeper than the depth of the last
- * symbolic element in the path of the given resource URL are assumed to
- * be in the same protection space.
- *
- * @param resourceUrl the URL identifying the resources to be added to
- *		the specified protection space. For example,
- *		"http://www.example.com/folder/".
- * @param realm the name of the protection space. For example,
- *		"realm1@example.com"
- * @exception CoreException if there are problems setting the
- *		authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void addProtectionSpace(URL resourceUrl, String realm) throws CoreException {
-	InternalPlatform.addProtectionSpace(resourceUrl, realm);
-}
-/**
- * Returns a URL which is the local equivalent of the
- * supplied URL. This method is expected to be used with 
- * plug-in-relative URLs returned by IPluginDescriptor.
- * If the specified URL is not a plug-in-relative URL, it 
- * is returned asis. If the specified URL is a plug-in-relative
- * URL of a file (incl. .jar archive), it is returned as 
- * a locally-accessible URL using "file:" or "jar:file:" protocol
- * (caching the file locally, if required). If the specified URL
- * is a plug-in-relative URL of a directory,
- * an exception is thrown.
- *
- * @param url original plug-in-relative URL.
- * @return the resolved URL
- * @exception IOException if unable to resolve URL
- * @see #resolve
- * @see IPluginDescriptor#getInstallURL
- */
-public static URL asLocalURL(URL url) throws IOException {
-	return InternalPlatform.asLocalURL(url);
-}
-
-/**
- * Takes down the splash screen if one was put up.
- */
-public static void endSplash() {
-	InternalPlatform.endSplash();
-}
-
-/**
- * Removes the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm.
- *
- * @param serverUrl the URL identifying the server to remove the
- *		authorization information for. For example,
- *		"http://www.example.com/".
- * @param realm the subsection of the given server to remove the
- *		authorization information for. For example,
- *		"realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- *		to remove applies. For example, "Basic" or "" for no
- *		authorization scheme.
- * @exception CoreException if there are problems removing the
- *		authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) throws CoreException {
-	InternalPlatform.flushAuthorizationInfo(serverUrl, realm, authScheme);
-}
-/**
- * Returns the adapter manager used for extending
- * <code>IAdaptable</code> objects.
- *
- * @return the adapter manager for this platform
- * @see IAdapterManager
- */
-public static IAdapterManager getAdapterManager() {
-	return InternalPlatform.getAdapterManager();
-}
-/**
- * Returns the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm. Returns <code>null</code> if no
- * such information exists.
- *
- * @param serverUrl the URL identifying the server for the authorization
- *		information. For example, "http://www.example.com/".
- * @param realm the subsection of the given server to which the
- *		authorization information applies.  For example,
- *		"realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- *		applies. For example, "Basic" or "" for no authorization scheme
- * @return the authorization information for the specified protection
- *		space and given authorization scheme, or <code>null</code> if no
- *		such information exists
- */
-public static Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
-	return InternalPlatform.getAuthorizationInfo(serverUrl, realm, authScheme);
-}
-/**
- * Returns the command line args provided to the platform when it was first run.
- * Note that individual platform runnables may be provided with different arguments
- * if they are being run individually rather than with <code>Platform.run()</code>.
- * 
- * @return the command line used to start the platform
- */
-public static String[] getCommandLineArgs() {
-	return BootLoader.getCommandLineArgs();
-}
-/**
- * Returns the identified option.  <code>null</code>
- * is returned if no such option is found.   Options are specified
- * in the general form <i>&ltplug-in id&gt/&ltoption-path&gt</i>.  
- * For example, <code>org.eclipse.core.runtime/debug</code>
- *
- * @param option the name of the option to lookup
- * @return the value of the requested debug option or <code>null</code>
- */
-public static String getDebugOption(String option) {
-	return InternalPlatform.getDebugOption(option);
-}
-/**
- * Returns the location of the platform working directory.  This 
- * corresponds to the <i>-data</i> command line argument if
- * present or, if not, the current working directory when the platform
- * was started.
- *
- * @return the location of the platform
- */
-public static IPath getLocation() {
-	return InternalPlatform.getLocation();
-}
-/**
- * Returns the location of the platform log file.  This file may contain information
- * about errors that have previously occurred during this invocation of the Platform.
- * 
- * Note: it is very important that users of this method do not leave the log
- * file open for extended periods of time.  Doing so may prevent others
- * from writing to the log file, which could result in important error messages
- * being lost.  It is strongly recommended that clients wanting to read the
- * log file for extended periods should copy the log file contents elsewhere,
- * and immediately close the original file.
- * 
- * @return the path of the log file on disk.
- */
-public static IPath getLogFileLocation() {
-	return InternalPlatform.getMetaArea().getLogLocation();
-}
-/**
- * Returns the plug-in runtime object for the identified plug-in
- * or <code>null</code> if no such plug-in can be found.  If
- * the plug-in is defined but not yet activated, the plug-in will
- * be activated before being returned.
- *
- * @param id the unique identifier of the desired plug-in 
- *		(e.g., <code>"com.example.acme"</code>).
- * @return the plug-in runtime object, or <code>null</code>
- */
-public static Plugin getPlugin(String id) {
-	return InternalPlatform.getPlugin(id);
-}
-/**
- * Returns the plug-in registry for this platform.
- *
- * @return the plug-in registry
- * @see IPluginRegistry
- */
-public static IPluginRegistry getPluginRegistry() {
-	return InternalPlatform.getPluginRegistry();
-}
-/**
- * Returns the location in the local file system of the plug-in 
- * state area for the given plug-in.
- * The platform must be running.
- * <p>
- * The plug-in state area is a file directory within the
- * platform's metadata area where a plug-in is free to create files.
- * The content and structure of this area is defined by the plug-in,
- * and the particular plug-in is solely responsible for any files
- * it puts there. It is recommended for plug-in preference settings.
- * </p>
- *
- * @param plugin the plug-in whose state location is returned
- * @return a local file system path
- */
-public static IPath getPluginStateLocation(Plugin plugin) {
-	return InternalPlatform.getPluginStateLocation(plugin.getDescriptor(), true);
-}
-/**
- * Returns the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown.
- *
- * @param resourceUrl the URL of the resource whose protection space is
- *		returned. For example, "http://www.example.com/folder/".
- * @return the protection space (realm) for the specified resource, or
- *		<code>null</code> if the realm is unknown
- */
-public static String getProtectionSpace(URL resourceUrl) {
-	return InternalPlatform.getProtectionSpace(resourceUrl);
-}
-/**
- * Returns a plug-in registry containing all of the plug-ins discovered
- * on the given plug-in path.  Any problems encountered are added to
- * the status managed by the supplied factory.
- * <p>
- * The given plug-in path is the list of locations in which to look for plug-ins.
- * If an entry identifies a directory (i.e., ends in a '/'), this method
- * attempts to scan all sub-directories for plug-ins.  Alternatively, an
- * entry may identify a particular plug-in manifest (<code>plugin.xml</code>) file.
- * </p>
- * <p>
- * <b>Note:</b> this method does not affect the running platform.  It is intended
- * for introspecting installed plug-ins on this and other platforms.  The returned
- * registry is <b>not</b> the same as the platform's registry.
- * </p>
- *
- * @param pluginPath the list of locations in which to look for plug-ins
- * @param factory the factory to use to create runtime model objects
- * @return the registry of parsed plug-ins
- */
-public static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory) {
-	return InternalPlatform.parsePlugins(pluginPath, factory);
-}
-/** 
- * Removes the indicated (identical) log listener from the notification list
- * of the platform.  If no such listener exists, no action is taken.
- *
- * @param listener the listener to deregister
- * @see ILog#removeLogListener
- * @see #addLogListener
- */
-public static void removeLogListener(ILogListener listener) {
-	InternalPlatform.removeLogListener(listener);
-}
-/**
- * Returns a URL which is the resolved equivalent of the
- * supplied URL. This method is expected to be used with 
- * plug-in-relative URLs returned by IPluginDescriptor.
- * If the specified URL is not a plug-in-relative URL, it is returned
- * as is. If the specified URL is a plug-in-relative URL, it is
- * resolved to a URL using the actual URL protocol
- * (eg. file, http, etc)
- *
- * @param url original plug-in-relative URL.
- * @return the resolved URL
- * @exception IOException if unable to resolve URL
- * @see #asLocalURL
- * @see IPluginDescriptor#getInstallURL
- */
-public static URL resolve(URL url) throws java.io.IOException {
-	return InternalPlatform.resolve(url);
-}
-/**
- * Runs the given runnable in a protected mode.   Exceptions
- * thrown in the runnable are logged and passed to the runnable's
- * exception handler.  Such exceptions are not rethrown by this method.
- *
- * @param code the runnable to run
- */
-public static void run(ISafeRunnable runnable) {
-	InternalPlatform.run(runnable);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
deleted file mode 100644
index 3642a57..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An abstract superclass implementing the <code>IAdaptable</code>
- * interface. <code>getAdapter</code> invocations are directed
- * to the platform's adapter manager.
- * <p>
- * Note: In situations where it would be awkward to subclass this
- * class, the same affect can be achieved simply by implementing
- * the <code>IAdaptable</code> interface and explicitly forwarding
- * the <code>getAdapter</code> request to the platform's 
- * adapater manager. The method would look like:
- * <pre>
- *     public Object getAdapter(Class adapter) {
- *         return Platform.getAdapterManager().getAdapter(this, adapter);
- *     }
- * </pre>
- * </p>
- * <p>
- * Clients may subclass.
- * </p>
- *
- * @see Platform#getAdapterManager
- */
-public abstract class PlatformObject implements IAdaptable {
-/**
- * Constructs a new platform object.
- */
-public PlatformObject() {
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- * <p>
- * This implementation of the method declared by <code>IAdaptable</code>
- * passes the request along to the platform's adapter manager; roughly
- * <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>.
- * Subclasses may override this method (however, if they do so, they
- * should invoke the method on their superclass to ensure that the
- * Platform's adapter manager is consulted).
- * </p>
- *
- * @see IAdaptable#getAdapter
- * @see Platform#getAdapterManager
- */
-public Object getAdapter(Class adapter) {
-	return Platform.getAdapterManager().getAdapter(this, adapter);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
deleted file mode 100644
index fcd5332..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.internal.plugins.DefaultPlugin;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.*;
-
-/**
- * The abstract superclass of all plug-in runtime class
- * implementations. A plug-in subclasses this class and overrides
- * the <code>startup</code> and <code>shutdown</code> methods 
- * in order to react to life cycle requests automatically issued
- * by the platform.
- * <p>
- * Conceptually, the plug-in runtime class represents the entire plug-in
- * rather than an implementation of any one particular extension the
- * plug-in declares. A plug-in is not required to explicitly
- * specify a plug-in runtime class; if none is specified, the plug-in
- * will be given a default plug-in runtime object that ignores all life 
- * cycle requests (it still provides access to the corresponding
- * plug-in descriptor).
- * </p>
- * <p>
- * In the case of more complex plug-ins, it may be desireable
- * to define a concrete subclass of <code>Plugin</code>.
- * However, just subclassing <code>Plugin</code> is not
- * sufficient. The name of the class must be explicitly configured
- * in the plug-in's manifest (<code>plugin.xml</code>) file
- * with the class attribute of the <code>&ltplugin&gt</code> element markup.
- * </p>
- * <p>
- * Instances of plug-in runtime classes are automatically created 
- * by the platform in the course of plug-in activation.
- * <b>Clients must never explicitly instantiate a plug-in runtime class</b>.
- * </p>
- * <p>
- * A typical implementation pattern for plug-in runtime classes is to
- * provide a static convenience method to gain access to a plug-in's
- * runtime object. This way, code in other parts of the plug-in
- * implementation without direct access to the plug-in runtime object
- * can easily obtain a reference to it, and thence to any plug-in-wide
- * resources recorded on it. An example follows:
- * <pre>
- *     package myplugin;
- *     public class MyPluginClass extends Plugin {
- *         private static MyPluginClass instance;
- *
- *         public static MyPluginClass getInstance() { return instance; }
- *
- *         public void MyPluginClass(IPluginDescriptor descriptor) {
- *             super(descriptor);
- *             instance = this;
- *             // ... other initialization
- *         }
- *         // ... other methods
- *     }
- * </pre>
- * In the above example, a call to <code>MyPluginClass.getInstance()</code>
- * will always return an initialized instance of <code>MyPluginClass</code>.
- * </p>
- * <p>
- * The static method <code>Platform.getPlugin()</code>
- * can be used to locate a plug-in's runtime object by name.
- * The extension initialization would contain the following code:
- * <pre>
- *     Plugin myPlugin = Platform.getPlugin("com.example.myplugin");
- * </pre>
- * 
- * Another typical implementation pattern for plug-in classes
- * is handling of any initialization files required by the plug-in.
- * Typically, each plug-in will ship one or more default files
- * as part of the plug-in install. The executing plug-in will
- * use the defaults on initial startup (or when explicitly requested
- * by the user), but will subsequently rewrite any modifications
- * to the default settings into one of the designated plug-in
- * working directory locations. An example of such an implementation
- * pattern is illustrated below:
- * <pre>
- * package myplugin;
- * public class MyPlugin extends Plugin {
- *
- *     private static final String INI = "myplugin.ini"; 
- *     private Properties myProperties = null;
- *
- *     public void startup() throws CoreException {
- *         try {
- *             InputStream input = null;
- *             // look for working properties.  If none, use shipped defaults 
- *             File file = getStateLocation().append(INI).toFile();
- *             if (!file.exists()) {			
- *                 URL base = getDescriptor().getInstallURL();
- *                 input = (new URL(base,INI)).openStream();
- *             } else 
- *                 input = new FileInputStream(file);
- * 
- *             // load properties 
- *             try {
- *                 myProperties = new Properties();
- *                 myProperties.load(input);
- *             } finally {
- *                 try {
- *                     input.close();
- *                 } catch (IOException e) {
- *                     // ignore failure on close
- *                 }
- *             }
- *         } catch (Exception e) {
- *             throw new CoreException(
- *                 new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(),
- *                     0, "Problems starting plug-in myplugin", e));
- *         }
- *     }
- *
- *     public void shutdown() throws CoreException { 
- *         // save properties in plugin state location (r/w)
- *         try {
- *             FileOutputStream output = null; 
- *             try {
- *                 output = new FileOutputStream(getStateLocation().append(INI)); 
- *                 myProperties.store(output, null);
- *             } finally {
- *                 try {
- *                     output.close();
- *                 } catch (IOException e) {
- *                     // ignore failure on close
- *                 }
- *             }
- *         } catch (Exception e) {
- *             throw new CoreException(
- *                 new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(),
- *                     0, "Problems shutting down plug-in myplugin", e));
- *         }
- *     }
- *
- *     public Properties getProperties() {	
- *         return myProperties; 
- *     }
- * }
- * </pre>
- * </p>
- */
-public abstract class Plugin  {
-
-	/**
-	 * The debug flag for this plug-in.  The flag is false by default.
-	 * It can be set to true either by the plug-in itself or in the platform 
-	 * debug options.
-	 */
-	private boolean debug = false;
-	
-	/** The plug-in descriptor.
-	 */
-	private IPluginDescriptor descriptor;
-
-	/**
-	 * The name of the file (value <code>"preferences.ini"</code>) in a
-	 * plug-in's (read-only) directory that, when present, contains values that
-	 * override the normal default values for this plug-in's preferences.
-	 * <p>
-	 * The format of the file is as per <code>java.io.Properties</code> where
-	 * the keys are property names and values are strings.
-	 * </p>
-	 * 
-	 * @since 2.0
-	 */
-	public static final String PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME = "preferences";//$NON-NLS-1$
-	public static final String PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME = PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME + ".ini";//$NON-NLS-1$
-
-	/**
-	 * The preference object for this plug-in; initially <code>null</code>
-	 * meaning not yet created and initialized.
-	 * 
-	 * @since 2.0
-	 */
-	private Preferences preferences = null;
-
-/**
- * Creates a new plug-in runtime object for the given plug-in descriptor.
- * <p>
- * Instances of plug-in runtime classes are automatically created 
- * by the platform in the course of plug-in activation.
- * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
- * </p>
- * <p>
- * Note: The class loader typically has monitors acquired during invocation of this method.  It is 
- * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
- * as this would lead to deadlock vulnerability.
- * </p>
- *
- * @param descriptor the plug-in descriptor
- * @see #getDescriptor
- */
-public Plugin(IPluginDescriptor descriptor) {
-	Assert.isNotNull(descriptor);
-	Assert.isTrue(!descriptor.isPluginActivated(), Policy.bind("plugin.deactivatedLoad", this.getClass().getName(), descriptor.getUniqueIdentifier() + " is not activated")); //$NON-NLS-1$ //$NON-NLS-2$
-	String className = ((PluginDescriptor) descriptor).getPluginClass();
-	if (this.getClass() == DefaultPlugin.class) 
-		Assert.isTrue(className == null || className.equals(""), Policy.bind("plugin.mismatchRuntime", descriptor.getUniqueIdentifier())); //$NON-NLS-1$ //$NON-NLS-2$
-	else 
-		Assert.isTrue(this.getClass().getName().equals(className), Policy.bind("plugin.mismatchRuntime", descriptor.getUniqueIdentifier())); //$NON-NLS-1$
-	this.descriptor = descriptor;
-	String key = descriptor.getUniqueIdentifier() + "/debug"; //$NON-NLS-1$
-	String value = Platform.getDebugOption(key);
-	this.debug = value == null ? false : value.equalsIgnoreCase("true"); //$NON-NLS-1$
-}
-/**
- * Returns a URL for the given path.  Returns <code>null</code> if the URL
- * could not be computed or created.
- * 
- * @param file path relative to plug-in installation location 
- * @return a URL for the given path or <code>null</code>
- */
-public final URL find(IPath path) {
-	return getDescriptor().find(path);
-}
-/**
- * Returns a URL for the given path.  Returns <code>null</code> if the URL
- * could not be computed or created.
- * 
- * @param path file path relative to plug-in installation location
- * @param override map of override substitution arguments to be used for
- * any $arg$ path elements. The map keys correspond to the substitution
- * arguments (eg. "$nl$" or "$os$"). The resulting
- * values must be of type java.lang.String. If the map is <code>null</code>,
- * or does not contain the required substitution argument, the default
- * is used.
- * @return a URL for the given path or <code>null</code>
- */
-public final URL find(IPath path, Map override) {
-	return getDescriptor().find(path,override);
-}
-private String getFileFromURL(URL target) {
-	String protocol = target.getProtocol();
-	if (protocol.equals(PlatformURLHandler.FILE))
-		return target.getFile();
-	if (protocol.equals(PlatformURLHandler.JAR)) {
-		// strip off the jar separator at the end of the url then do a recursive call
-		// to interpret the sub URL.
-		String file = target.getFile();
-		file = file.substring(0, file.length() - PlatformURLHandler.JAR_SEPARATOR.length());
-		try {
-			return getFileFromURL(new URL(file));
-		} catch (MalformedURLException e) {
-		}
-	}
-	return null;
-}
-/**
- * Returns the plug-in descriptor for this plug-in runtime object.
- *
- * @return the plug-in descriptor for this plug-in runtime object
- */
-public final IPluginDescriptor getDescriptor() {
-	return descriptor;
-}
-/**
- * Returns the log for this plug-in.  If no such log exists, one is created.
- *
- * @return the log for this plug-in
- */
-public final ILog getLog() {
-	return InternalPlatform.getLog(this);
-}
-/**
- * Returns the location in the local file system of the 
- * plug-in state area for this plug-in.
- * If the plug-in state area did not exist prior to this call,
- * it is created.
- * <p>
- * The plug-in state area is a file directory within the
- * platform's metadata area where a plug-in is free to create files.
- * The content and structure of this area is defined by the plug-in,
- * and the particular plug-in is solely responsible for any files
- * it puts there. It is recommended for plug-in preference settings and 
- * other configuration parameters.
- * </p>
- *
- * @return a local file system path
- */
-public final IPath getStateLocation() {
-	return InternalPlatform.getPluginStateLocation(descriptor, true);
-}
-
-/**
- * Returns the preference store for this plug-in.
- * <p>
- * Note that if an error occurs reading the preference store from disk, an empty 
- * preference store is quietly created, initialized with defaults, and returned.
- * </p>
- * <p>
- * Calling this method may cause the preference store to be created and
- * initialized. Subclasses which reimplement the 
- * <code>initializeDefaultPluginPreferences</code> method have this opportunity
- * to initialize preference default values, just prior to processing override
- * default values imposed externally to this plug-in (specified for the product,
- * or at platform start up).
- * </p>
- * <p>
- * After settings in the preference store are changed (for example, with 
- * <code>Preferences.setValue</code> or <code>setToDefault</code>),
- * <code>savePluginPreferences</code> should be called to store the changed
- * values back to disk. Otherwise the changes will be lost on plug-in
- * shutdown.
- * </p>
- *
- * @return the preference store
- * @see #savePluginPreferences
- * @see Preferences#setValue
- * @see Preferences#setToDefault
- * @since 2.0
- */
-public final Preferences getPluginPreferences() {
-	if (preferences != null) {
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("Plugin preferences already loaded for " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
-		}
-		// N.B. preferences instance field set means already created
-		// and initialized (or in process of being initialized)
-		return preferences;
-	}
-		
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Loading preferences for plugin " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
-	}
-	// lazily create preference store
-	// important: set preferences instance field to prevent re-entry
-	preferences = new Preferences();
-	// load settings into preference store 
-	loadPluginPreferences();
-
-	// 1. fill in defaults supplied by this plug-in
-	initializeDefaultPluginPreferences();
-	// 2. override with defaults stored with plug-in
-	applyInternalPluginDefaultOverrides();
-	// 3. override with defaults from primary feature or command line
-	applyExternalPluginDefaultOverrides();
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Completed loading preferences for plugin " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
-	}
-	return preferences;
-}
-
-/**
- * Loads preferences settings for this plug-in from the plug-in preferences
- * file in the plug-in's state area. This plug-in must have a preference store
- * object.
- * 
- * @see Preferences#load
- * @since 2.0
- */
-private void loadPluginPreferences() {
-	// the preferences file is located in the plug-in's state area at a well-known name
-	// don't need to create the directory if there are no preferences to load
-	File prefFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false).toFile();
-	if (!prefFile.exists()) {
-		// no preference file - that's fine
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("Plugin preference file " + prefFile + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return;
-	}
-	
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Loading preferences from " + prefFile); //$NON-NLS-1$
-	}
-	// load preferences from file
-	SafeFileInputStream in = null;
-	try {
-		in = new SafeFileInputStream(prefFile);
-		preferences.load(in);
-	} catch (IOException e) {
-		// problems loading preference store - quietly ignore
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("IOException encountered loading preference file " + prefFile); //$NON-NLS-1$
-			e.printStackTrace();
-		}
-	} finally {
-		if (in != null) {
-			try {
-				in.close();
-			} catch (IOException e) {
-				// ignore problems with close
-				if (InternalPlatform.DEBUG_PREFERENCES) {
-					System.out.println("IOException encountered closing preference file " + prefFile); //$NON-NLS-1$
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
-		String[] prefNames = preferences.propertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getString(prefNames[i]);
-			System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		prefNames = preferences.defaultPropertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getDefaultString(prefNames[i]);
-			System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
-
-/**
- * Saves preferences settings for this plug-in. Does nothing if the preference
- * store does not need saving.
- * <p>
- * Plug-in preferences are <b>not</b> saved automatically on plug-in shutdown.
- * </p>
- * 
- * @see Preferences#save
- * @see Preferences#needsSaving
- * @since 2.0
- */
-public final void savePluginPreferences() {
-	if (preferences == null || !preferences.needsSaving()) {
-		// nothing to save
-		return;
-	}
-
-	// preferences need to be saved
-	// the preferences file is located in the plug-in's state area
-	// at a well-known name (pref_store.ini)
-	File prefFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, true).toFile();
-	if (preferences.propertyNames().length == 0) {
-		// there are no preference settings
-		// rather than write an empty file, just delete any existing file
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("Removing saved preferences from " + prefFile); //$NON-NLS-1$
-		}
-		if (prefFile.exists()) {
-			prefFile.delete();
-			// don't worry if delete unsuccessful
-		}
-		return;
-	}
-	
-	// write file, overwriting an existing one
-	OutputStream out = null;
-	try {
-		// do it as carefully as we know how so that we don't lose/mangle
-		// the setting in times of stress
-		out = new SafeFileOutputStream(prefFile);
-		preferences.store(out, null);
-	} catch (IOException e) {
-		// problems saving preference store - quietly ignore
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("IOException writing to preference file " + prefFile); //$NON-NLS-1$
-			e.printStackTrace();
-		}
-	} finally {
-		if (out != null) {
-			try {
-				out.close();
-			} catch (IOException e) {
-				// ignore problems with close
-				if (InternalPlatform.DEBUG_PREFERENCES) {
-					System.out.println("IOException closing preference file " + prefFile); //$NON-NLS-1$
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-}
-
-/**
- * Initializes the default preferences settings for this plug-in.
- * <p>
- * This method is called sometime after the preference store for this
- * plug-in is created. Default values are never stored in preference
- * stores; they must be filled in each time. This method provides the
- * opportunity to initialize the default values.
- * </p>
- * <p>
- * The default implementation of this method does nothing. A subclass that needs
- * to set default values for its preferences must reimplement this method.
- * Default values set at a later point will override any default override
- * settings supplied from outside the plug-in (product configuration or
- * platform start up).
- * </p>
- * 
- * @since 2.0
- */
-protected void initializeDefaultPluginPreferences() {
-	// default implementation of this method - spec'd to do nothing
-}
-
-/**
- * Applies external overrides to default preferences for this plug-in. By the
- * time this method is called, the default settings for the plug-in itself will
- * have already have been filled in.
- * 
- * @since 2.0
- */
-private void applyExternalPluginDefaultOverrides() {
-	// 1. InternalPlatform is central authority for platform configuration questions
-	InternalPlatform.applyPrimaryFeaturePluginDefaultOverrides(
-		getDescriptor().getUniqueIdentifier(),
-		preferences);
-	// 2. command line overrides take precedence over feature-specified overrides
-	InternalPlatform.applyCommandLinePluginDefaultOverrides(
-		getDescriptor().getUniqueIdentifier(),
-		preferences);
-}
-
-/**
- * Applies overrides to the default preferences for this plug-in. Looks
- * for a file in the (read-only) plug-in directory. The default settings will
- * have already have been applied.
- * 
- * @since 2.0
- */
-private void applyInternalPluginDefaultOverrides() {
-	
-	IPluginDescriptor pluginDescriptor = getDescriptor();
-	// use URLs so we can find the file in fragments too
-	URL baseURL = pluginDescriptor.find(new Path(PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME));
-
-	if (baseURL == null) {
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("Plugin preference file " + PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return;
-	}
-	File iniFile = new File(getFileFromURL(baseURL));
-	if (!iniFile.exists()) {
-		// no preference file - that's fine
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("Plugin preference file " + iniFile + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return;
-	}
-
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Loading preferences from " + iniFile); //$NON-NLS-1$
-	}
-	Properties overrides = new Properties();
-	SafeFileInputStream in = null;
-	try {
-		in = new SafeFileInputStream(iniFile);
-		overrides.load(in);
-	} catch (IOException e) {
-		// cannot read ini file - fail silently
-		if (InternalPlatform.DEBUG_PREFERENCES) {
-			System.out.println("IOException encountered loading preference file " + //$NON-NLS-1$
-				iniFile);
-			e.printStackTrace();
-		}
-		return;
-	} finally {
-		try {
-			if (in != null) {
-				in.close();
-			}
-		} catch (IOException e) {
-			// ignore problems closing file
-			if (InternalPlatform.DEBUG_PREFERENCES) {
-				System.out.println("IOException encountered closing preference file " + //$NON-NLS-1$
-					iniFile);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	// Now get the translation file for these preferences (if one
-	// exists).
-	Properties props = null;
-	if (!overrides.isEmpty()) {
-		props = InternalPlatform.getPreferenceTranslator(pluginDescriptor, PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME);
-	}
-
-	for (Iterator it = overrides.entrySet().iterator(); it.hasNext(); ) {
-		Map.Entry entry = (Map.Entry) it.next();
-		String key = (String) entry.getKey();
-		String value = (String) entry.getValue();
-		value = InternalPlatform.translatePreference(value, props);
-		preferences.setDefault(key, value);
-	}
-	if (InternalPlatform.DEBUG_PREFERENCES) {
-		System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
-		String[] prefNames = preferences.propertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getString(prefNames[i]);
-			System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		prefNames = preferences.defaultPropertyNames();
-		for (int i = 0; i < prefNames.length; i++) {
-			String value = preferences.getDefaultString(prefNames[i]);
-			System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
-
-/**
- * Returns whether this plug-in is in debug mode.
- * By default plug-ins are not in debug mode.  A plug-in can put itself
- * into debug mode or the user can set an execution option to do so.
- *
- * @return whether this plug-in is in debug mode
- */
-public boolean isDebugging() {
-	return debug;
-}
-/**
- * Returns an input stream for the specified file. The file path
- * must be specified relative this the plug-in's installation location.
- *
- * @param file path relative to plug-in installation location
- * @return an input stream
- * @see #openStream(IPath,boolean)
- */
-public final InputStream openStream(IPath file) throws IOException {
-	return openStream(file, false);
-}
-/**
- * Returns an input stream for the specified file. The file path
- * must be specified relative to this plug-in's installation location.
- * Optionally, the platform searches for the correct localized version
- * of the specified file using the users current locale, and Java
- * naming convention for localized resource files (locale suffix appended 
- * to the specified file extension).
- * <p>
- * The caller must close the returned stream when done.
- * </p>
- *
- * @param file path relative to plug-in installation location
- * @param localized <code>true</code> for the localized version
- *   of the file, and <code>false</code> for the file exactly
- *   as specified
- * @return an input stream
- */
-public final InputStream openStream(IPath file, boolean localized) throws IOException {
-	URL target = new URL(getDescriptor().getInstallURL() + file.toString());
-	return target.openStream();
-}
-/**
- * Sets whether this plug-in is in debug mode.
- * By default plug-ins are not in debug mode.  A plug-in can put itself
- * into debug mode or the user can set a debug option to do so.
- *
- * @param value whether or not this plugi-in is in debug mode
- */
-public void setDebugging(boolean value) {
-	debug = value;
-}
-/**
- * Shuts down this plug-in and discards all plug-in state.
- * <p>
- * This method should be re-implemented in subclasses that need to do something
- * when the plug-in is shut down.  Implementors should call the inherited method
- * to ensure that any system requirements can be met.
- * </p>
- * <p>
- * Plug-in shutdown code should be robust. In particular, this method
- * should always make an effort to shut down the plug-in. Furthermore,
- * the code should not assume that the plug-in was started successfully,
- * as this method will be invoked in the event of a failure during startup.
- * </p>
- * <p>
- * Note 1: If a plug-in has been started, this method will be automatically
- * invoked by the platform when the platform is shut down.
- * </p>
- * <p>
- * Note 2: This method is intended to perform simple termination
- * of the plug-in environment. The platform may terminate invocations
- * that do not complete in a timely fashion.
- * </p>
- * <b>Clients must never explicitly call this method.</b>
- *
- * @exception CoreException if this method fails to shut down
- *   this plug-in
- */
-public void shutdown() throws CoreException {
-}
-
-/**
- * Starts up this plug-in.
- * <p>
- * This method should be overridden in subclasses that need to do something
- * when this plug-in is started.  Implementors should call the inherited method
- * to ensure that any system requirements can be met.
- * </p>
- * <p>
- * If this method throws an exception, it is taken as an indication that
- * plug-in initialization has failed; as a result, the plug-in will not
- * be activated; moreover, the plug-in will be marked as disabled and 
- * ineligible for activation for the duration.
- * </p>
- * <p>
- * Plug-in startup code should be robust. In the event of a startup failure,
- * the plug-in's <code>shutdown</code> method will be invoked automatically,
- * in an attempt to close open files, etc.
- * </p>
- * <p>
- * Note 1: This method is automatically invoked by the platform 
- * the first time any code in the plug-in is executed.
- * </p>
- * <p>
- * Note 2: This method is intended to perform simple initialization 
- * of the plug-in environment. The platform may terminate initializers 
- * that do not complete in a timely fashion.
- * </p>
- * <p>
- * Note 3: The class loader typically has monitors acquired during invocation of this method.  It is 
- * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
- * as this would lead to deadlock vulnerability.
- * </p>
- * <b>Clients must never explicitly call this method.</b>
- *
- * @exception CoreException if this plug-in did not start up properly
- */
-public void startup() throws CoreException {
-}
-/**
- * Returns a string representation of the plug-in, suitable 
- * for debugging purposes only.
- */
-public String toString() {
-	return descriptor.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
deleted file mode 100644
index e445173..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-import org.eclipse.core.internal.runtime.*;
-
-/**
- * <p>
- * Version identifier for a plug-in. In its string representation, 
- * it consists of up to 4 tokens separated by a decimal point.
- * The first 3 tokens are positive integer numbers, the last token
- * is an uninterpreted string (no whitespace characters allowed).
- * For example, the following are valid version identifiers 
- * (as strings):
- * <ul>
- *   <li><code>0.0.0</code></li>
- *   <li><code>1.0.127564</code></li>
- *   <li><code>3.7.2.build-127J</code></li>
- *   <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- *   <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- * <p>
- * The version identifier can be decomposed into a major, minor, 
- * service level component and qualifier components. A difference
- * in the major component is interpreted as an incompatible version
- * change. A difference in the minor (and not the major) component
- * is interpreted as a compatible version change. The service
- * level component is interpreted as a cumulative and compatible
- * service update of the minor version component. The qualifier is
- * not interpreted, other than in version comparisons. The 
- * qualifiers are compared using lexicographical string comparison.
- * </p>
- * <p>
- * Version identifiers can be matched as perfectly equal, equivalent,
- * compatible or greaterOrEqual.
- * </p>
- * <p>
- * Clients may instantiate; not intended to be subclassed by clients.
- * </p>
- * @see IPluginDescriptor#getVersionIdentifier
- * @see java.lang.String#compareTo 
- */	
-public final class PluginVersionIdentifier {
-		
-	private int major = 0;
-	private int minor = 0;
-	private int service = 0;
-	private String qualifier = ""; //$NON-NLS-1$
-	
-	private static final String SEPARATOR = "."; //$NON-NLS-1$
-/**
- * Creates a plug-in version identifier from its components.
- * 
- * @param major major component of the version identifier
- * @param minor minor component of the version identifier
- * @param service service update component of the version identifier
- */
-public PluginVersionIdentifier(int major, int minor, int service) {
-	this(major, minor, service, null);
-}
-/**
- * Creates a plug-in version identifier from its components.
- * 
- * @param major major component of the version identifier
- * @param minor minor component of the version identifier
- * @param service service update component of the version identifier
- * @param qualifier qualifier component of the version identifier. 
- * Qualifier characters that are not a letter or a digit are replaced.
- */
-public PluginVersionIdentifier(int major, int minor, int service, String qualifier) {
-	
-	// Do the test outside of the assert so that they 'Policy.bind' 
-	// will not be evaluated each time (including cases when we would
-	// have passed by the assert).
-
-	if (major < 0)
-		Assert.isTrue(false, Policy.bind("parse.postiveMajor", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
-	if (minor < 0)
-		Assert.isTrue(false, Policy.bind("parse.postiveMinor", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
-	if (service < 0)
-		Assert.isTrue(false,  Policy.bind("parse.postiveService", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
-	if (qualifier == null) qualifier = ""; //$NON-NLS-1$
-	
-	this.major = major;
-	this.minor = minor;
-	this.service = service;
-	this.qualifier = verifyQualifier(qualifier);
-}
-/**
- * Creates a plug-in version identifier from the given string.
- * The string represenation consists of up to 4 tokens 
- * separated by decimal point.
- * For example, the following are valid version identifiers 
- * (as strings):
- * <ul>
- *   <li><code>0.0.0</code></li>
- *   <li><code>1.0.127564</code></li>
- *   <li><code>3.7.2.build-127J</code></li>
- *   <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- *   <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- * 
- * @param versionId string representation of the version identifier. 
- * Qualifier characters that are not a letter or a digit are replaced.
- */
-public PluginVersionIdentifier(String versionId) {
-	Object[] parts = parseVersion(versionId);
-	this.major = ((Integer) parts[0]).intValue(); 
-	this.minor = ((Integer) parts[1]).intValue(); 
-	this.service = ((Integer) parts[2]).intValue(); 
-	this.qualifier = (String) parts[3];
-}
-/**
- * Validates the given string as a plug-in version identifier.
- * 
- * @param version the string to validate
- * @return a status object with code <code>IStatus.OK</code> if
- *		the given string is valid as a plug-in version identifier, otherwise a status
- *		object indicating what is wrong with the string
- * @since 2.0
- */
-public static IStatus validateVersion(String version) {
-	try {
-		parseVersion(version);
-	} catch (RuntimeException e) {
-		return new Status(IStatus.ERROR, Platform.PI_RUNTIME, IStatus.ERROR, e.getMessage(), e);
-	}
-	return new Status(IStatus.OK, Platform.PI_RUNTIME, IStatus.OK, Policy.bind("ok"), null); //$NON-NLS-1$
-}
-private static Object[] parseVersion(String versionId) {
-	
-	// Do the test outside of the assert so that they 'Policy.bind' 
-	// will not be evaluated each time (including cases when we would
-	// have passed by the assert).
-	if (versionId == null)
-		Assert.isNotNull(null, Policy.bind("parse.emptyPluginVersion")); //$NON-NLS-1$
-	String s = versionId.trim();
-	if (s.equals("")) //$NON-NLS-1$
-		Assert.isTrue(false, Policy.bind("parse.emptyPluginVersion")); //$NON-NLS-1$
-	if (s.startsWith(SEPARATOR))
-		Assert.isTrue(false, Policy.bind("parse.separatorStartVersion", s)); //$NON-NLS-1$
-	if (s.endsWith(SEPARATOR))
-		Assert.isTrue(false, Policy.bind("parse.separatorEndVersion", s)); //$NON-NLS-1$
-	if (s.indexOf(SEPARATOR+SEPARATOR)!=-1)
-		Assert.isTrue(false, Policy.bind("parse.doubleSeparatorVersion", s)); //$NON-NLS-1$
-	
-	StringTokenizer st = new StringTokenizer(s, SEPARATOR);
-	Vector elements = new Vector(4);
-
-	while (st.hasMoreTokens())
-		elements.addElement(st.nextToken());
-
-	int elementSize = elements.size();
-	
-	if (elementSize <= 0)
-		Assert.isTrue(false, Policy.bind("parse.oneElementPluginVersion", s)); //$NON-NLS-1$
-	if (elementSize > 4)
-		Assert.isTrue(false, Policy.bind("parse.fourElementPluginVersion", s)); //$NON-NLS-1$
-
-	int[] numbers = new int[3];
-	try {
-		numbers[0] = Integer.parseInt((String) elements.elementAt(0));
-		if (numbers[0] < 0)
-			Assert.isTrue(false, Policy.bind("parse.postiveMajor", s)); //$NON-NLS-1$
-	} catch (NumberFormatException nfe) {
-		Assert.isTrue(false,Policy.bind("parse.numericMajorComponent", s)); //$NON-NLS-1$
-	}
-
-	try {
-		if (elementSize>=2) {
-			numbers[1] = Integer.parseInt((String) elements.elementAt(1));
-			if (numbers[1] < 0)
-				Assert.isTrue(false, Policy.bind("parse.postiveMinor", s)); //$NON-NLS-1$
-		} else
-			numbers[1] = 0;
-	} catch (NumberFormatException nfe) {
-		Assert.isTrue(false,Policy.bind("parse.numericMinorComponent", s)); //$NON-NLS-1$
-	}
-
-	try {
-		if (elementSize>=3) {
-			numbers[2] = Integer.parseInt((String) elements.elementAt(2));
-			if (numbers[2] < 0)
-				Assert.isTrue(false, Policy.bind("parse.postiveService", s)); //$NON-NLS-1$
-		} else
-			numbers[2] = 0;
-	} catch (NumberFormatException nfe) {
-		Assert.isTrue(false,Policy.bind("parse.numericServiceComponent", s)); //$NON-NLS-1$
-	}
-	
-	// "result" is a 4-element array with the major, minor, service, and qualifier
-	Object[] result = new Object[4];
-	result[0] = new Integer(numbers[0]);
-	result[1] = new Integer(numbers[1]);
-	result[2] = new Integer(numbers[2]);
-	if (elementSize>=4) 
-		result[3] = verifyQualifier((String) elements.elementAt(3));
-	else
-		result[3] = ""; //$NON-NLS-1$
-	return result;
-}
-/**
- * Compare version identifiers for equality. Identifiers are
- * equal if all of their components are equal.
- *
- * @param object an object to compare
- * @return whehter or not the two objects are equal
- */
-public boolean equals(Object object) {
-	if (!(object instanceof PluginVersionIdentifier))
-		return false;
-	PluginVersionIdentifier v = (PluginVersionIdentifier) object;
-	return v.getMajorComponent() == major && v.getMinorComponent() == minor && v.getServiceComponent() == service && v.getQualifierComponent().equals(qualifier);
-}
-/**
- * Returns a hash code value for the object. 
- *
- * @return an integer which is a hash code value for this object.
- */
-public int hashCode() {
-	int code = major + minor + service; // R1.0 result
-	if (qualifier.equals("")) //$NON-NLS-1$
-		return code;
-	else
-		return code + qualifier.hashCode();
-}
-/**
- * Returns the major (incompatible) component of this 
- * version identifier.
- *
- * @return the major version
- */
-public int getMajorComponent() {
-	return major;
-}
-/**
- * Returns the minor (compatible) component of this 
- * version identifier.
- *
- * @return the minor version
- */
-public int getMinorComponent() {
-	return minor;
-}
-/**
- * Returns the service level component of this 
- * version identifier.
- *
- * @return the service level
- */
-public int getServiceComponent() {
-	return service;
-}
-/**
- * Returns the qualifier component of this 
- * version identifier.
- *
- * @return the qualifier
- */
-public String getQualifierComponent() {
-	return qualifier;
-}
-/**
- * Compares two version identifiers to see if this one is
- * greater than or equal to the argument.
- * <p>
- * A version identifier is considered to be greater than or equal
- * if its major component is greater than the argument major 
- * component, or the major components are equal and its minor component
- * is greater than the argument minor component, or the
- * major and minor components are equal and its service component is
- * greater than the argument service component, or the major, minor and
- * service components are equal and the qualifier component is
- * greated than the argument qualifier component (using lexicographic
- * string comparison), or all components are equal.
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- *    is compatible with the given version identifier, and
- *    <code>false</code> otherwise
- * @since 2.0
- */
-public boolean isGreaterOrEqualTo(PluginVersionIdentifier id) {
-	if (id == null)
-		return false;
-	if (major > id.getMajorComponent())
-		return true;
-	if ((major == id.getMajorComponent()) &&
-	    (minor > id.getMinorComponent()))
-		return true;
-	if ((major == id.getMajorComponent()) &&
-	    (minor == id.getMinorComponent()) &&
-	    (service > id.getServiceComponent()))
-		return true;
-	if ((major == id.getMajorComponent()) &&
-	    (minor == id.getMinorComponent()) &&
-	    (service == id.getServiceComponent()) &&
-	    (qualifier.compareTo(id.getQualifierComponent())>=0))
-		return true;
-	else
-		return false;
-}
-/**
- * Compares two version identifiers for compatibility.
- * <p>
- * A version identifier is considered to be compatible if its major 
- * component equals to the argument major component, and its minor component
- * is greater than or equal to the argument minor component.
- * If the minor components are equal, than the service level of the
- * version identifier must be greater than or equal to the service level
- * of the argument identifier. If the service levels are equal, the two 
- * version identifiers are considered to be equivalent if this qualifier is 
- * greated or equal to the qualifier of the argument (using lexicographic
- * string comparison).
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- *    is compatible with the given version identifier, and
- *    <code>false</code> otherwise
- */
-public boolean isCompatibleWith(PluginVersionIdentifier id) {
-	if (id == null)
-		return false;
-	if (major != id.getMajorComponent())
-		return false;
-	if (minor > id.getMinorComponent())
-		return true;
-	if (minor < id.getMinorComponent())
-		return false;
-	if (service > id.getServiceComponent())
-		return true;
-	if (service < id.getServiceComponent())
-		return false;
-	if (qualifier.compareTo(id.getQualifierComponent())>=0)
-		return true;
-	else
-		return false;
-}
-/**
- * Compares two version identifiers for equivalency.
- * <p>
- * Two version identifiers are considered to be equivalent if their major 
- * and minor component equal and are at least at the same service level 
- * as the argument. If the service levels are equal, the two version
- * identifiers are considered to be equivalent if this qualifier is 
- * greated or equal to the qualifier of the argument (using lexicographic
- * string comparison).
- * 
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- *    is equivalent to the given version identifier, and
- *    <code>false</code> otherwise
- */
-public boolean isEquivalentTo(PluginVersionIdentifier id) {
-	if (id == null)
-		return false;
-	if (major != id.getMajorComponent())
-		return false;
-	if (minor != id.getMinorComponent())
-		return false;
-	if (service > id.getServiceComponent())
-		return true;
-	if (service < id.getServiceComponent())
-		return false;
-	if (qualifier.compareTo(id.getQualifierComponent())>=0)
-		return true;
-	else
-		return false;
-}
-/**
- * Compares two version identifiers for perfect equality.
- * <p>
- * Two version identifiers are considered to be perfectly equal if their
- * major, minor, service and qualifier components are equal
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- *    is perfectly equal to the given version identifier, and
- *    <code>false</code> otherwise
- * @since 2.0
- */
-public boolean isPerfect(PluginVersionIdentifier id) {
-	if (id == null)
-		return false;
-	if ( (major != id.getMajorComponent()) ||
-	     (minor != id.getMinorComponent()) ||
-         (service != id.getServiceComponent()) ||
-         (!qualifier.equals(id.getQualifierComponent())) )
-		return false;
-	else
-		return true;
-}
-/**
- * Compares two version identifiers for order using multi-decimal
- * comparison. 
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- *    is greater than the given version identifier, and
- *    <code>false</code> otherwise
- */
-public boolean isGreaterThan(PluginVersionIdentifier id) {
-
-	if (id == null) {
-		if (major==0 && minor==0 && service==0 && qualifier.equals("")) return false; //$NON-NLS-1$
-		else return true;
-	}
-
-	if (major > id.getMajorComponent()) return true;
-	if (major < id.getMajorComponent()) return false;
-	if (minor > id.getMinorComponent()) return true;
-	if (minor < id.getMinorComponent()) return false;	
-	if (service > id.getServiceComponent()) return true;	
-	if (service < id.getServiceComponent()) return false;
-	if (qualifier.compareTo(id.getQualifierComponent())>0) return true;
-	else return false;
-
-}
-/**
- * Returns the string representation of this version identifier. 
- * The result satisfies
- * <code>vi.equals(new PluginVersionIdentifier(vi.toString()))</code>.
- *
- * @return the string representation of this plug-in version identifier
- */
-public String toString() {
-	String base = major+SEPARATOR+minor+SEPARATOR+service; // R1.0 result
-	if (qualifier.equals("")) //$NON-NLS-1$
-		return base;
-	else
-		return base + SEPARATOR + qualifier;
-}
-
-private static String verifyQualifier(String s) {
-	char[] chars = s.trim().toCharArray();
-	boolean whitespace = false;
-	for(int i=0; i<chars.length; i++) {
-		if (!Character.isLetterOrDigit(chars[i])) {
-			chars[i] = '-';
-			whitespace = true;
-		}
-	}
-	return whitespace ? new String(chars) : s;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
deleted file mode 100644
index 4c2e8cf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
+++ /dev/null
@@ -1,1336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.internal.runtime.PreferenceExporter;
-
-/**
- * A table of preference settings, mapping named properties to values. Property
- * names are non-empty strings; property values can be either booleans,
- * non-null strings, or values of one of the primitive number types.
- * The table consists of two, sparse, layers: the lower layer holds default values 
- * for properties, and the upper layer holds explicitly set values for properties.
- * Normal retrieval looks for an explicitly set value for the given property in
- * the upper layer; if there is nothing for that property in the upper layer, it
- * next looks for a default value for the given property in the lower layer; if
- * there is nothing for that property in the lower layer, it returns a standard
- * default-default value. The default-default values for the primitive types are
- * as follows:
- * <ul>
- * 	<li><code>boolean</code> = <code>false</code></li>
- * 	<li><code>double</code> = <code>0.0</code></li>
- * 	<li><code>float</code> = <code>0.0f</code></li>
- * 	<li><code>int</code> = <code>0</code></li>
- *  <li><code>long</code> = <code>0L</code></li>
- * 	<li><code>String</code> = <code>""</code> (the empty string)</li>
- * </ul>
- * <p>
- * Internally, all properties values (in both layers) are stored as strings.
- * Standard conversions to and from numeric and boolean types are performed on
- * demand.
- * </p>
- * <p>
- * The typical usage is to establish the defaults for all known properties
- * and then restore previously stored values for properties whose values 
- * were explicitly set. The existing settings can be changed and new properties
- * can be set (<code>setValue</code>). If the values specified is the same as 
- * the default value, the explicit setting is deleted from the top layer.
- * It is also possible to reset a property value back to the default value 
- * using <code>setToDefault</code>. After the properties have been modified, 
- * the properties with explicit settings are written to disk. The default values
- * are never saved. This two-tiered approach
- * to saving and restoring property setting minimizes the number of properties
- * that need to be persisted; indeed, the normal starting state does not require
- * storing any properties at all. It also makes it easy to use different 
- * default settings in different environments while maintaining just those
- * property settings the user has adjusted.
- * </p>
- * <p>
- * A property change event is reported whenever a property's value actually
- * changes (either through <code>setValue</code>, <code>setToDefault</code>).
- * Note, however, that manipulating default values (with <code>setDefault</code>)
- * does not cause any events to be reported.
- * </p>
- * <p>
- * Clients may instantiate this class. This class was not designed to be 
- * subclassed.
- * </p>
- * <p>
- * The implementation is based on a pair of internal 
- * <code>java.util.Properties</code> objects, one holding explicitly set values
- * (set using <code>setValue</code>), the other holding the default values
- * (set using <code>setDefaultValue</code>). The <code>load</code> and
- * <code>store</code> methods persist the non-default property values to 
- * streams (the default values are not saved).
- * </p>
- * 
- * @since 2.0
- */
-public class Preferences {
-
-	/**
-	 * The default-default value for boolean properties (<code>false</code>).
-	 */
-	public static final boolean BOOLEAN_DEFAULT_DEFAULT = false;
-
-	/**
-	 * The default-default value for double properties (<code>0.0</code>).
-	 */
-	public static final double DOUBLE_DEFAULT_DEFAULT = 0.0;
-
-	/**
-	 * The default-default value for float properties (<code>0.0f</code>).
-	 */
-	public static final float FLOAT_DEFAULT_DEFAULT = 0.0f;
-
-	/**
-	 * The default-default value for int properties (<code>0</code>).
-	 */
-	public static final int INT_DEFAULT_DEFAULT = 0;
-
-	/**
-	 * The default-default value for long properties (<code>0L</code>).
-	 */
-	public static final long LONG_DEFAULT_DEFAULT = 0L;
-
-	/**
-	 * The default-default value for String properties (<code>""</code>).
-	 */
-	public static final String STRING_DEFAULT_DEFAULT = ""; //$NON-NLS-1$
-
-	/**
-	 * The string representation used for <code>true</code>
-	 * (<code>"true"</code>).
-	 */
-	private static final String TRUE = "true"; //$NON-NLS-1$
-
-	/**
-	 * The string representation used for <code>false</code>
-	 * (<code>"false"</code>).
-	 */
-	private static final String FALSE = "false"; //$NON-NLS-1$
-
-	/**
-	 * An event object describing a change to a named property.
-	 * <p>
-	 * The preferences object reports property change events for internal state
-	 * changes that may be of interest to external parties. A special listener
-	 * interface (<code>Preferences.IPropertyChangeListener</code>) is 
-	 * defined for this purpose. Listeners are registered via the
-	 * <code>Preferences.addPropertyChangeListener</code> method.
-	 * </p>
-	 * <p>
-	 * Clients cannot instantiate or subclass this class.
-	 * </p>
-	 *
-	 * @see #addPropertyChangeListener
-	 * @see #IPropertyChangeListener
-	 */
-	public static class PropertyChangeEvent extends EventObject {
-
-		/**
-		 * The name of the changed property.
- 		 */
-		private String propertyName;
-
-		/**
-		 * The old value of the changed property, or <code>null</code> if
-		 * not known or not relevant.
-		 */
-		private Object oldValue;
-
-		/**
-		 * The new value of the changed property, or <code>null</code> if
-		 * not known or not relevant.
-		 */
-		private Object newValue;
-
-		/**
-		 * Creates a new property change event.
-		 *
-		 * @param source the object whose property has changed
-		 * @param property the property that has changed (must not be 
-		 *    <code>null</code>)
-		 * @param oldValue the old value of the property, or 
-		 *    <code>null</code> if none
-		 * @param newValue the new value of the property, or 
-		 *    <code>null</code> if none
-		 */
-		PropertyChangeEvent(
-			Object source,
-			String property,
-			Object oldValue,
-			Object newValue) {
-
-			super(source);
-			if (property == null) {
-				throw new IllegalArgumentException();
-			}
-			this.propertyName = property;
-			this.oldValue = oldValue;
-			this.newValue = newValue;
-		}
-
-		/**
-		 * Returns the name of the property that changed.
-		 * <p>
-		 * Warning: there is no guarantee that the property name returned
-		 * is a constant string.  Callers must compare property names using
-		 * <code>equals</code>, not ==.
-		 *</p>
-		 * 
-		 * @return the name of the property that changed
-		 */
-		public String getProperty() {
-			return propertyName;
-		}
-
-		/**
-		 * Returns the new value of the property.
-		 *
-		 * @return the new value, or <code>null</code> if not known
-		 *  or not relevant
-		 */
-		public Object getNewValue() {
-			return newValue;
-		}
-
-		/**
-		 * Returns the old value of the property.
-		 *
-		 * @return the old value, or <code>null</code> if not known
-		 *  or not relevant
-		 */
-		public Object getOldValue() {
-			return oldValue;
-		}
-	}
-
-	/**
-	 * Listener for property changes.
-	 * <p>
-	 * Usage:
-	 * <pre>
-	 * Preferences.IPropertyChangeListener listener =
-	 *   new Preferences.IPropertyChangeListener() {
-	 *      public void propertyChange(Preferences.PropertyChangeEvent event) {
-	 *         ... // code to deal with occurrence of property change
-	 *      }
-	 *   };
-	 * emitter.addPropertyChangeListener(listener);
-	 * ...
-	 * emitter.removePropertyChangeListener(listener);
-	 * </pre>
-	 * </p>
-	 */
-	public interface IPropertyChangeListener extends EventListener {
-
-		/**
-		 * Notification that a property has changed.
-		 * <p>
-		 * This method gets called when the observed object fires a property
-		 * change event.
-		 * </p>
-		 *
-		 * @param event the property change event object describing which
-		 *    property changed and how
-		 */
-		public void propertyChange(Preferences.PropertyChangeEvent event);
-	}
-
-	/**
-	 * Internal class is used to maintain a list of listeners.
-	 * It is a fairly lightweight object, occupying minimal space when
-	 * no listeners are registered.
-	 * <p>
-	 * Note that the <code>add</code> method checks for and eliminates 
-	 * duplicates based on identity (not equality).  Likewise, the
-	 * <code>remove</code> method compares based on identity.
-	 * </p>
-	 * <p>
-	 * Use the <code>getListeners</code> method when notifying listeners.
-	 * Note that no garbage is created if no listeners are registered.
-	 * The recommended code sequence for notifying all registered listeners
-	 * of say, <code>FooListener.eventHappened</code>, is:
-	 * <pre>
-	 * Object[] listeners = myListenerList.getListeners();
-	 * for (int i = 0; i &lt; listeners.length; ++i) {
-	 *    ((FooListener) listeners[i]).eventHappened(event);
-	 * }
-	 * </pre>
-	 * </p>
-	 */
-	private static class ListenerList {
-		/**
-		 * The initial capacity of the list. Always >= 1.
-		 */
-		private int capacity;
-
-		/**
-		 * The current number of listeners.
-		 * Maintains invariant: 0 <= size <= listeners.length.
-		 */
-		private int size;
-
-		/**
-		 * The list of listeners.  Initially <code>null</code> but initialized
-		 * to an array of size capacity the first time a listener is added.
-		 * Maintains invariant: listeners != null IFF size != 0
-		 */
-		private Object[] listeners = null;
-
-		/**
-		 * The empty array singleton instance, returned by getListeners()
-		 * when size == 0.
-		 */
-		private static final Object[] EmptyArray = new Object[0];
-
-		/**
-		 * Creates a listener list with an initial capacity of 3.
-		 */
-		public ListenerList() {
-			this(1);
-		}
-
-		/**
-		 * Creates a listener list with the given initial capacity.
-		 *
-		 * @param capacity the number of listeners which this list can initially 
-		 *    accept without growing its internal representation; must be at
-		 *    least 1
-		 */
-		public ListenerList(int capacity) {
-			if (capacity < 1) {
-				throw new IllegalArgumentException();
-			}
-			this.capacity = capacity;
-		}
-
-		/**
-		 * Adds the given listener to this list. Has no effect if an identical 
-		 * listener is already registered.
-		 *
-		 * @param listener the listener
-		 */
-		public void add(Object listener) {
-			if (listener == null) {
-				throw new IllegalArgumentException();
-			}
-			if (size == 0) {
-				listeners = new Object[capacity];
-			} else {
-				// check for duplicates using identity
-				for (int i = 0; i < size; ++i) {
-					if (listeners[i] == listener) {
-						return;
-					}
-				}
-				// grow array if necessary
-				if (size == listeners.length) {
-					System.arraycopy(listeners, 0, listeners = new Object[size * 2 + 1], 0, size);
-				}
-			}
-			listeners[size++] = listener;
-		}
-
-		/**
-		 * Returns an array containing all the registered listeners.
-		 * The resulting array is unaffected by subsequent adds or removes.
-		 * If there are no listeners registered, the result is an empty array
-		 * singleton instance (no garbage is created).
-		 * Use this method when notifying listeners, so that any modifications
-		 * to the listener list during the notification will have no effect on 
-		 * the notification itself.
-		 *
-		 * @return the list of registered listeners
-		 */
-		public Object[] getListeners() {
-			if (size == 0)
-				return EmptyArray;
-			Object[] result = new Object[size];
-			System.arraycopy(listeners, 0, result, 0, size);
-			return result;
-		}
-
-		/**
-		 * Returns whether this listener list is empty.
-		 *
-		 * @return <code>true</code> if there are no registered listeners, and
-		 *   <code>false</code> otherwise
-		 */
-		public boolean isEmpty() {
-			return size == 0;
-		}
-
-		/**
-		 * Removes the given listener from this list. Has no effect if an 
-		 * identical listener was not already registered.
-		 *
-		 * @param listener the listener
-		 */
-		public void remove(Object listener) {
-			if (listener == null) {
-				throw new IllegalArgumentException();
-			}
-			for (int i = 0; i < size; ++i) {
-				if (listeners[i] == listener) {
-					if (size == 1) {
-						listeners = null;
-						size = 0;
-					} else {
-						System.arraycopy(listeners, i + 1, listeners, i, --size - i);
-						listeners[size] = null;
-					}
-					return;
-				}
-			}
-		}
-
-		/**
-		 * Returns the number of registered listeners.
-		 *
-		 * @return the number of registered listeners
-		 */
-		public int size() {
-			return size;
-		}
-	}
-
-	/** 
-	 * List of registered listeners (element type: 
-	 * <code>IPropertyChangeListener</code>).
-	 * These listeners are to be informed when the current value of a property
-	 * changes.
-	 */
-	private ListenerList listeners = new ListenerList();
-
-	/**
-	 * The mapping from property name to
-	 * property value (represented as strings).
-	 */
-	private Properties properties;
-
-	/**
-	 * The mapping from property name to
-	 * default property value (represented as strings);
-	 * <code>null</code> if none.
-	 */
-	private Properties defaultProperties;
-
-	/**
-	 * Indicates whether a value has been changed by <code>setToDefault</code>
-	 * or <code>setValue</code>; initially <code>false</code>.
-	 */
-	private boolean dirty = false;
-
-	/**
-	 * Exports all non-default-valued preferences for all installed plugins to the 
-	 * provided file. if a file already exists at the given location, it will be deleted.
-	 * If there are no preferences to export, no file will be written.
-	 * <p>
-	 * The file that is written can be read later using the importPreferences method.
-	 * </p>
-	 * @param file The absolute filesystem path of the file to export preferences to.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li> The file could not be written.</li>
-	 * </ul>
-	 * @see #importPreferences
-	 * @see #validatePreferenceVersions
-	 */
-	public static void exportPreferences(IPath file) throws CoreException {
-		PreferenceExporter.exportPreferences(file);
-	}
-	/**
-	 * Loads the plugin preferences from the given file, and replaces all 
-	 * non-default-valued preferences for all plugins with the values from this file.
-	 * <p>
-	 * If the file contains preferences for plug-ins that don't exist in the current
-	 * install, they are ignored.  This method does not validate if the plug-in
-	 * versions in the preference file match the currently installed plug-ins.
-	 * Clients should first call validatePreferenceVersions on the file to ensure
-	 * that the versions are compatible.
-	 * </p>
-	 * <p>
-	 * The file must have been written by the exportPreferences method.
-	 * </p>
-	 * @param file The absolute filesystem path of the file to import preferences from.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li> The file does not exist.</li>
-	 * <li> The file could not be read.</li>
-	 * </ul>
-	 * @see #exportPreferences
-	 * @see #validatePreferenceVersions
-	 */
-	public static void importPreferences(IPath file) throws CoreException {
-		PreferenceExporter.importPreferences(file);
-	}
-	/**
-	 * Validates that the preference versions in the given file match the versions
-	 * of the currently installed plugins.  Returns an OK status if all preferences match 
-	 * the currently installed plugins, otherwise a MultiStatus describing what 
-	 * plugins have preferences that don't match.  
-	 * <p>
-	 * If the returned status has a <code>IStatus.WARNING</code> severity, 
-	 * it means that some preferences may not be applicable but for the most 
-	 * part they will be compatible.  If the returned status has a 
-	 * <code>IStatus.ERROR</code> severity, it means that the preferences 
-	 * will probably not be compatible.
-	 * <p>
-	 * If the file contains preferences for plug-ins that don't exist in the current
-	 * install, they are ignored.
-	 * </p>
-	 * <p>
-	 * The file must have been written by the exportPreferences method.
-	 * </p>
-	 * @param file The absolute filesystem path of the preference file to validate.
-	 * @see #exportPreferences
-	 * @see #importPreferences
-	 */
-	public static IStatus validatePreferenceVersions(IPath file) {
-		return PreferenceExporter.validatePreferenceVersions(file);
-	}
-	/**
-	 * Creates an empty preference table.
-	 * <p>
-	 * Use the methods <code>load(InputStream)</code> and
-	 * <code>store(InputStream)</code> to load and store these preferences.
-	 * </p>
-	 * @see #load
-	 * @see #store
-	 */
-	public Preferences() {
-		defaultProperties = new Properties();
-		properties = new Properties(defaultProperties);
-	}
-
-	/**
-	 * Adds a property change listener to this preference object.
-	 * Has no affect if the identical listener is already registered.
-	 *
-	 * @param listener a property change listener
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * Removes the given listener from this preference object.
-	 * Has no affect if the listener is not registered.
-	 *
-	 * @param listener a property change listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Returns whether the given property is known to this preference object,
-	 * either by having an explicit setting or by having a default
-	 * setting.
-	 *
-	 * @param name the name of the property
-	 * @return <code>true</code> if either a current value or a default
-	 *  value is known for the named property, and <code>false</code>otherwise
-	 */
-	public boolean contains(String name) {
-		return (properties.containsKey(name) || defaultProperties.containsKey(name));
-	}
-
-	/**
-	 * Fires a property change event corresponding to a change to the
-	 * current value of the property with the given name.
-	 *
-	 * @param name the name of the property, to be used as the property
-	 *  in the event object
-	 * @param oldValue the old value, or <code>null</code> if not known or not
-	 *    relevant
-	 * @param newValue the new value, or <code>null</code> if not known or not
-	 *    relevant
-	 */
-	private void firePropertyChangeEvent(
-		String name,
-		Object oldValue,
-		Object newValue) {
-
-		if (name == null) {
-			throw new IllegalArgumentException();
-		}
-		Object[] listeners = this.listeners.getListeners();
-		// Do we even need to fire an event?
-		if (listeners.length > 0) {
-			PropertyChangeEvent pe =
-				new PropertyChangeEvent(this, name, oldValue, newValue);
-			for (int i = 0; i < listeners.length; ++i) {
-				IPropertyChangeListener l = (IPropertyChangeListener) listeners[i];
-				l.propertyChange(pe);
-			}
-		}
-	}
-
-	/**
-	 * Returns the current value of the boolean-valued property with the
-	 * given name.
-	 * Returns the default-default value (<code>false</code>) if there
-	 * is no property with the given name, or if the current value 
-	 * cannot be treated as a boolean.
-	 *
-	 * @param name the name of the property
-	 * @return the boolean-valued property
-	 */
-	public boolean getBoolean(String name) {
-		String value = properties.getProperty(name);
-		if (value == null) {
-			return BOOLEAN_DEFAULT_DEFAULT;
-		}
-		return value.equals(Preferences.TRUE);
-	}
-
-	/**
-	 * Sets the current value of the boolean-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property
-	 */
-	public void setValue(String name, boolean value) {
-		boolean defaultValue = getDefaultBoolean(name);
-		boolean oldValue = getBoolean(name);
-		if (value == defaultValue) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, value ? Preferences.TRUE : Preferences.FALSE);
-		}
-		if (oldValue != value) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, oldValue ? Boolean.TRUE : Boolean.FALSE, value ? Boolean.TRUE : Boolean.FALSE);
-		}
-	}
-
-	/**
-	 * Returns the default value for the boolean-valued property
-	 * with the given name.
-	 * Returns the default-default value (<code>false</code>) if there
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as a boolean.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public boolean getDefaultBoolean(String name) {
-		String value = defaultProperties.getProperty(name);
-		if (value == null) {
-			return BOOLEAN_DEFAULT_DEFAULT;
-		}
-		return value.equals(Preferences.TRUE);
-	}
-
-	/**
-	 * Sets the default value for the boolean-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property
-	 */
-	public void setDefault(String name, boolean value) {
-		defaultProperties.put(name, value ? Preferences.TRUE : Preferences.FALSE);
-	}
-
-	/**
-	 * Returns the current value of the double-valued property with the
-	 * given name.
-	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no property with the given name, or if the current value 
-	 * cannot be treated as a double.
-	 *
-	 * @param name the name of the property
-	 * @return the double-valued property
-	 */
-	public double getDouble(String name) {
-		return convertToDouble(properties.getProperty(name), DOUBLE_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the current value of the double-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
-	 *   a number (not a NaN)
-	 */
-	public void setValue(String name, double value) {
-		if (Double.isNaN(value)) {
-			throw new IllegalArgumentException();
-		}
-		double defaultValue = getDefaultDouble(name);
-		double oldValue = getDouble(name);
-		if (value == defaultValue) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, Double.toString(value));
-		}
-		if (oldValue != value) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, new Double(oldValue), new Double(value));
-		}
-	}
-
-	/**
-	 * Returns the default value for the double-valued property
-	 * with the given name.
-	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as a double.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public double getDefaultDouble(String name) {
-		return convertToDouble(
-			defaultProperties.getProperty(name),
-			DOUBLE_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the default value for the double-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
-	 *   a number (not a NaN)
-	 */
-	public void setDefault(String name, double value) {
-		if (Double.isNaN(value)) {
-			throw new IllegalArgumentException();
-		}
-		defaultProperties.put(name, Double.toString(value));
-	}
-
-	/**
-	 * Converts the given raw property value string to a double.
-	 * 
-	 * @param rawPropertyValue the raw property value, or <code>null</code>
-	 *   if none
-	 * @param defaultValue the default value
-	 * @return the raw value converted to a double, or the given 
-	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
-	 *    cannot be parsed as a double
-	 */
-	private double convertToDouble(String rawPropertyValue, double defaultValue) {
-		double result = defaultValue;
-		if (rawPropertyValue != null) {
-			try {
-				result = Double.parseDouble(rawPropertyValue);
-			} catch (NumberFormatException e) {
-				// raw value cannot be treated as one of these
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the current value of the float-valued property with the
-	 * given name.
-	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no property with the given name, or if the current value 
-	 * cannot be treated as a float.
-	 *
-	 * @param name the name of the property
-	 * @return the float-valued property
-	 */
-	public float getFloat(String name) {
-		return convertToFloat(properties.getProperty(name), FLOAT_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the current value of the float-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
-	 *   a number (not a NaN)
-	 */
-	public void setValue(String name, float value) {
-		if (Float.isNaN(value)) {
-			throw new IllegalArgumentException();
-		}
-		float defaultValue = getDefaultFloat(name);
-		float oldValue = getFloat(name);
-		if (value == defaultValue) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, Float.toString(value));
-		}
-		if (oldValue != value) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, new Float(oldValue), new Float(value));
-		}
-	}
-
-	/**
-	 * Returns the default value for the float-valued property
-	 * with the given name.
-	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as a float.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public float getDefaultFloat(String name) {
-		return convertToFloat(
-			defaultProperties.getProperty(name),
-			FLOAT_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the default value for the float-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
-	 *   a number (not a NaN)
-	 */
-	public void setDefault(String name, float value) {
-		if (Float.isNaN(value)) {
-			throw new IllegalArgumentException();
-		}
-		defaultProperties.put(name, Float.toString(value));
-	}
-
-	/**
-	 * Converts the given raw property value string to a float.
-	 * 
-	 * @param rawPropertyValue the raw property value, or <code>null</code>
-	 *   if none
-	 * @param defaultValue the default value
-	 * @return the raw value converted to a float, or the given 
-	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
-	 *    cannot be parsed as a float
-	 */
-	private float convertToFloat(String rawPropertyValue, float defaultValue) {
-		float result = defaultValue;
-		if (rawPropertyValue != null) {
-			try {
-				result = Float.parseFloat(rawPropertyValue);
-			} catch (NumberFormatException e) {
-				// raw value cannot be treated as one of these
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the current value of the integer-valued property with the
-	 * given name.
-	 * Returns the default-default value (<code>0</code>) if there
-	 * is no property with the given name, or if the current value 
-	 * cannot be treated as an integter.
-	 *
-	 * @param name the name of the property
-	 * @return the int-valued property
-	 */
-	public int getInt(String name) {
-		return convertToInt(properties.getProperty(name), INT_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the current value of the integer-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property
-	 */
-	public void setValue(String name, int value) {
-		int defaultValue = getDefaultInt(name);
-		int oldValue = getInt(name);
-		if (value == defaultValue) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, Integer.toString(value));
-		}
-		if (oldValue != value) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, new Integer(oldValue), new Integer(value));
-		}
-	}
-
-	/**
-	 * Returns the default value for the integer-valued property
-	 * with the given name.
-	 * Returns the default-default value (<code>0</code>) if there
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as an integer.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public int getDefaultInt(String name) {
-		return convertToInt(defaultProperties.getProperty(name), INT_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the default value for the integer-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property
-	 */
-	public void setDefault(String name, int value) {
-		defaultProperties.put(name, Integer.toString(value));
-	}
-
-	/**
-	 * Converts the given raw property value string to an int.
-	 * 
-	 * @param rawPropertyValue the raw property value, or <code>null</code>
-	 *   if none
-	 * @param defaultValue the default value
-	 * @return the raw value converted to an int, or the given 
-	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
-	 *    cannot be parsed as an int
-	 */
-	private int convertToInt(String rawPropertyValue, int defaultValue) {
-		int result = defaultValue;
-		if (rawPropertyValue != null) {
-			try {
-				result = Integer.parseInt(rawPropertyValue);
-			} catch (NumberFormatException e) {
-				// raw value cannot be treated as one of these
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the current value of the long-valued property with the
-	 * given name.
-	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no property with the given name, or if the current value 
-	 * cannot be treated as a long.
-	 *
-	 * @param name the name of the property
-	 * @return the long-valued property
-	 */
-	public long getLong(String name) {
-		return convertToLong(properties.getProperty(name), LONG_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the current value of the long-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property
-	 */
-	public void setValue(String name, long value) {
-		long defaultValue = getDefaultLong(name);
-		long oldValue = getLong(name);
-		if (value == defaultValue) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, Long.toString(value));
-		}
-		if (oldValue != value) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, new Long(oldValue), new Long(value));
-		}
-	}
-
-	/**
-	 * Returns the default value for the long-valued property
-	 * with the given name.
-	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as a long.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public long getDefaultLong(String name) {
-		return convertToLong(defaultProperties.getProperty(name), LONG_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the default value for the long-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property
-	 */
-	public void setDefault(String name, long value) {
-		defaultProperties.put(name, Long.toString(value));
-	}
-
-	/**
-	 * Converts the given raw property value string to a long.
-	 * 
-	 * @param rawPropertyValue the raw property value, or <code>null</code>
-	 *   if none
-	 * @param defaultValue the default value
-	 * @return the raw value converted to a long, or the given 
-	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
-	 *    cannot be parsed as a long
-	 */
-	private long convertToLong(String rawPropertyValue, long defaultValue) {
-		long result = defaultValue;
-		if (rawPropertyValue != null) {
-			try {
-				result = Long.parseLong(rawPropertyValue);
-			} catch (NumberFormatException e) {
-				// raw value cannot be treated as one of these
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the current value of the string-valued property with the
-	 * given name.
-	 * Returns the default-default value (the empty string <code>""</code>)
-	 * if there is no property with the given name.
-	 *
-	 * @param name the name of the property
-	 * @return the string-valued property
-	 */
-	public String getString(String name) {
-		String value = properties.getProperty(name);
-		return (value != null ? value : STRING_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the current value of the string-valued property with the
-	 * given name.
-	 * <p>
-	 * A property change event is reported if the current value of the 
-	 * property actually changes from its previous value. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are wrapped as objects.
-	 * </p>
-	 * <p>
-	 * If the given value is the same as the corresponding default value
-	 * for the given property, the explicit setting is deleted.
-	 * Note that the recommended way of re-initializing a property to its
-	 * default value is to call <code>setToDefault</code>.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new current value of the property
-	 */
-	public void setValue(String name, String value) {
-		if (value == null) {
-			throw new IllegalArgumentException();
-		}
-		String defaultValue = getDefaultString(name);
-		String oldValue = getString(name);
-		if (value.equals(defaultValue)) {
-			Object removed = properties.remove(name);
-			if (removed != null) {
-				// removed an explicit setting
-				dirty = true;
-			}
-		} else {
-			properties.put(name, value);
-		}
-		if (!oldValue.equals(value)) {
-			// mark as dirty since value did really change
-			dirty = true;
-			// report property change if getValue now returns different value
-			firePropertyChangeEvent(name, oldValue, value);
-		}
-	}
-
-	/**
-	 * Returns the default value for the string-valued property
-	 * with the given name.
-	 * Returns the default-default value (the empty string <code>""</code>) 
-	 * is no default property with the given name, or if the default 
-	 * value cannot be treated as a string.
-	 *
-	 * @param name the name of the property
-	 * @return the default value of the named property
-	 */
-	public String getDefaultString(String name) {
-		String value = defaultProperties.getProperty(name);
-		return (value != null ? value : STRING_DEFAULT_DEFAULT);
-	}
-
-	/**
-	 * Sets the default value for the string-valued property with the
-	 * given name. 
-	 * <p>
-	 * Note that the current value of the property is affected if
-	 * the property's current value was its old default value, in which
-	 * case it changes to the new default value. If the property's current
-	 * is different from its old default value, its current value is
-	 * unaffected. No property change events are reported by changing default
-	 * values.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 * @param value the new default value for the property
-	 */
-	public void setDefault(String name, String value) {
-		if (value == null) {
-			throw new IllegalArgumentException();
-		}
-		defaultProperties.put(name, value);
-	}
-
-	/**
-	 * Returns whether the property with the given name has the default value in
-	 * virtue of having no explicitly set value.
-	 *
-	 * @param name the name of the property
-	 * @return <code>true</code> if the property has no explicitly set value,
-	 * and <code>false</code> otherwise (including the case where the property
-	 * is unknown to this object)
-	 */
-	public boolean isDefault(String name) {
-		return !properties.containsKey(name);
-	}
-
-	/**
-	 * Sets the current value of the property with the given name back
-	 * to its default value. Has no effect if the property does not have
-	 * its own current value.
-	 * <p>
-	 * Note that the recommended way of re-initializing a property to the
-	 * appropriate default value is to call <code>setToDefault</code>.
-	 * This is implemented by removing the named value from the object, 
-	 * thereby exposing the default value.
-	 * </p>
-	 * <p>
-	 * A property change event is always reported. In the event
-	 * object, the property name is the name of the property, and the
-	 * old and new values are either strings, or <code>null</code> 
-	 * indicating the default-default value.
-	 * </p>
-	 *
-	 * @param name the name of the property
-	 */
-	public void setToDefault(String name) {
-		Object oldPropertyValue = properties.remove(name);
-		if (oldPropertyValue != null) {
-			dirty = true;
-		}
-		String newValue = defaultProperties.getProperty(name, null);
-		// n.b. newValue == null if there is no default value
-		// can't determine correct default-default without knowing type
-		firePropertyChangeEvent(name, oldPropertyValue, newValue);
-	}
-
-	/**
-	 * Returns a list of all properties known to this preference object which
-	 * have current values other than their default value.
-	 *
-	 * @return an array of property names 
-	 */
-	public String[] propertyNames() {
-		String[] result = new String[properties.size()];
-		properties.keySet().toArray(result);
-		return result;
-	}
-
-	/**
-	 * Returns a list of all properties known to this preference object which
-	 * have default values other than their default-default value.
-	 *
-	 * @return an array of property names 
-	 */
-	public String[] defaultPropertyNames() {
-		String[] result = new String[defaultProperties.size()];
-		defaultProperties.keySet().toArray(result);
-		return result;
-	}
-
-	/**
-	 * Returns whether the current values in this preference object
-	 * require saving.
-	 *
-	 * @return <code>true</code> if at least one of the properties
-	 *  known to this preference object has a current value different from its
-	 *  default value, and <code>false</code> otherwise
-	 */
-	public boolean needsSaving() {
-		return dirty;
-	}
-
-	/**
-	 * Saves the non-default-valued properties known to this preference object to
-	 * the given output stream using 
-	 * <code>Properties.store(OutputStream,String)</code>.
-	 * <p>
-	 * Note that the output is unconditionally written, even when
-	 * <code>needsSaving</code> is <code>false</code>.
-	 * </p>
-	 *
-	 * @param out the output stream 
-	 * @param header a comment to be included in the output, or 
-	 *    <code>null</code> if none
-	 * @exception IOException if there is a problem saving this preference object
-	 * @see Properties#store(OutputStream,String)
-	 */
-	public void store(OutputStream out, String header) throws IOException {
-		properties.store(out, header);
-		dirty = false;
-	}
-
-	/**
-	 * Loads the non-default-valued properties for this preference object from the
-	 * given input stream using 
-	 * <code>java.util.Properties.load(InputStream)</code>. Default property
-	 * values are not affected.
-	 *
-	 * @param in the input stream
-	 * @exception IOException if there is a problem loading this preference
-	 *    object
-	 * @see java.util.Properties#load(InputStream)
-	 */
-	public void load(InputStream in) throws IOException {
-		properties.load(in);
-		dirty = false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
deleted file mode 100644
index 65e9ed3..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * An abstract wrapper around a progress monitor which,
- * unless overridden, forwards <code>IProgressMonitor</code>
- * methods to the wrapped progress monitor.
- * <p>
- * Clients may subclass.
- * </p>
- */
-public abstract class ProgressMonitorWrapper implements IProgressMonitor {
-
-	/** The wrapped progress monitor. */
-	private IProgressMonitor progressMonitor;
-
-/** 
- * Creates a new wrapper around the given monitor.
- *
- * @param monitor the progress monitor to forward to
- */
-protected ProgressMonitorWrapper(IProgressMonitor monitor) {
-	Assert.isNotNull(monitor);
-	progressMonitor = monitor;
-}
-/** 
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#beginTask
- */
-public void beginTask(String name, int totalWork) {
-	progressMonitor.beginTask(name, totalWork);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#done
- */
-public void done() {
-	progressMonitor.done();
-}
-/**
- * Returns the wrapped progress monitor.
- *
- * @return the wrapped progress monitor
- */
-public IProgressMonitor getWrappedProgressMonitor() {
-	return progressMonitor;
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#internalWorked
- */
-public void internalWorked(double work) {
-	progressMonitor.internalWorked(work);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#isCanceled
- */
-public boolean isCanceled() {
-	return progressMonitor.isCanceled();
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#setCanceled
- */
-public void setCanceled(boolean b) {
-	progressMonitor.setCanceled(b);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#setTaskName
- */
-public void setTaskName(String name) {
-	progressMonitor.setTaskName(name);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#subTask
- */
-public void subTask(String name) {
-	progressMonitor.subTask(name);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#worked
- */
-public void worked(int work) {
-	progressMonitor.worked(work);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
deleted file mode 100644
index c9cafab..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
- 
-/**
- * Qualified names are two-part names: qualifier and local name.
- * The qualifier must be in URI form (see RFC2396).  
- * Note however that the qualifier may be <code>null</code> if
- * the default name space is being used.  The empty string is not 
- * a valid local name.
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public final class QualifiedName {
-
-	/** Qualifier part (potentially <code>null</code>). */
-	/*package*/ String qualifier = null;
-
-	/** Local name part. */
-	/*package*/ String localName = null;
-/**
- * Creates and returns a new qualified name with the given qualifier
- * and local name.  The local name must not be the empty string.
- * The qualifier may be <code>null</code>.
- * <p>
- * Clients may instantiate.
- * </p>
- * @param qualifier the qualifier string, or <code>null</code>
- * @param localName the local name string
- */
-public QualifiedName(String qualifier, String localName) {
-	Assert.isLegal(localName != null && localName.length() != 0);
-	this.qualifier = qualifier;
-	this.localName = localName;
-}
-/**
- * Returns whether this qualified name is equivalent to the given object.
- * <p>
- * Qualified names are equal if and only if they have the same
- * qualified parts and local parts.
- * Qualified names are not equal to objects other than qualified names.
- * </p>
- *
- * @param obj the object to compare to
- * @return <code>true</code> if these are equivalent qualified
- *    names, and <code>false</code> otherwise
- */
-public boolean equals(Object obj) {
-	if (obj == this) {
-		return true;
-	}
-	if (!(obj instanceof QualifiedName)) {
-		return false;
-	}
-	QualifiedName qName = (QualifiedName) obj;
-	/* There may or may not be a quailfier */
-	if (qualifier == null && qName.getQualifier() != null) {
-		return false;
-	}
-	if (qualifier != null && !qualifier.equals(qName.getQualifier())) {
-		return false;
-	}
-	return localName.equals(qName.getLocalName());
-}
-/**
- * Returns the local part of this name.
- *
- * @return the local name string
- */
-public String getLocalName() {
-	return localName;
-}
-/**
- * Returns the qualifier part for this qualifed name, or <code>null</code>
- * if none.
- *
- * @return the qualifier string, or <code>null</code>
- */
-public String getQualifier() {
-	return qualifier;
-}
-/* (Intentionally omitted from javadoc)
- * Implements the method <code>Object.hashCode</code>.
- * 
- * Returns the hash code for this qualified name.
- */
-public int hashCode() {
-	return (qualifier == null ? 0 : qualifier.hashCode()) + localName.hashCode();
-}
-/**
- * Converts this qualified name into a string, suitable for 
- * debug purposes only.
- */
-public String toString() {
-	return (getQualifier() == null ? "" : getQualifier() + ':') + getLocalName(); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
deleted file mode 100644
index de680a1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A concrete status implementation, suitable either for 
- * instantiating or subclassing.
- */
-public class Status implements IStatus {
-	/**
-	 * The severity. One of
-	 * <ul>
-	 * <li><code>ERROR</code></li>
-	 * <li><code>WARNING</code></li>
-	 * <li><code>INFO</code></li>
-	 * <li>or <code>OK</code> (0)</li>
-	 * </ul>
-	 */
-	private int severity = OK;
-	
-	/** Unique identifier of plug-in.
-	 */
-	private String pluginId;
-	
-	/** Plug-in-specific status code.
-	 */
-	private int code;
-
-	/** Message, localized to the current locale.
-	 */
-	private String message;
-
-	/** Wrapped exception, or <code>null</code> if none.
-	 */
-	private Throwable exception = null;
-
-	/** Constant to avoid generating garbage.
-	 */
-	private static final IStatus[] theEmptyStatusArray = new IStatus[0];
-/**
- * Creates a new status object.  The created status has no children.
- *
- * @param severity the severity; one of <code>OK</code>,
- *   <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code, or <code>OK</code>
- * @param message a human-readable message, localized to the
- *    current locale
- * @param exception a low-level exception, or <code>null</code> if not
- *    applicable 
- */
-public Status(int severity, String pluginId, int code, String message, Throwable exception) {
-	setSeverity(severity);
-	setPlugin(pluginId);
-	setCode(code);
-	setMessage(message);
-	setException(exception);
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public IStatus[] getChildren() {
-	return theEmptyStatusArray;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public int getCode() {
-	return code;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public Throwable getException() {
-	return exception;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public String getMessage() {
-	return message;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public String getPlugin() {
-	return pluginId;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public int getSeverity() {
-	return severity;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isMultiStatus() {
-	return false;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isOK() {
-	return severity == OK;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean matches(int severityMask) {
-	return (severity & severityMask) != 0;
-}
-/**
- * Sets the status code.
- *
- * @param code the plug-in-specific status code, or <code>OK</code>
- */
-protected void setCode(int code) {
-	this.code = code;
-}
-/**
- * Sets the exception.
- *
- * @param exception a low-level exception, or <code>null</code> if not
- *    applicable 
- */
-protected void setException(Throwable exception) {
-	this.exception = exception;
-}
-/**
- * Sets the message.
- *
- * @param message a human-readable message, localized to the
- *    current locale
- */
-protected void setMessage(String message) {
-	Assert.isLegal(message != null);
-	this.message = message;
-}
-/**
- * Sets the plug-in id.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- */
-protected void setPlugin(String pluginId) {
-	Assert.isLegal(pluginId != null && pluginId.length() > 0);
-	this.pluginId = pluginId;
-}
-/**
- * Sets the severity.
- *
- * @param severity the severity; one of <code>OK</code>,
- *   <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- */
-protected void setSeverity(int severity) {
-	Assert.isLegal(severity == OK || severity == ERROR || severity == WARNING || severity == INFO);
-	this.severity = severity;
-}
-/**
- * Returns a string representation of the status, suitable 
- * for debugging purposes only.
- */
-public String toString() {
-	StringBuffer buf = new StringBuffer();
-	buf.append("Status "); //$NON-NLS-1$
-	if (severity == OK) {
-		buf.append("OK"); //$NON-NLS-1$
-	} else if (severity == ERROR) {
-		buf.append("ERROR"); //$NON-NLS-1$
-	} else if (severity == WARNING) {
-		buf.append("WARNING"); //$NON-NLS-1$
-	} else if (severity == INFO) {
-		buf.append("INFO"); //$NON-NLS-1$
-	} else {
-		buf.append("severity="); //$NON-NLS-1$
-		buf.append(severity);
-	}
-	buf.append(pluginId);
-	buf.append(" code="); //$NON-NLS-1$
-	buf.append(code);
-	buf.append(' ');
-	buf.append(message);
-	buf.append(' ');
-	buf.append(exception);
-	return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
deleted file mode 100644
index 124ac18..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A progress monitor that uses the a given amount of work ticks
- * form a parent monitor. It can be used as follows:
- * <pre>
- *     try {
- *         pm.beginTask("Main Task", 100);
- *         doSomeWork(pm, 30);
- *         SubProgressMonitor subMonitor= new SubProgressMonitor(pm, 40);
- *         try {
- *             subMonitor.beginTask("", 300);
- *             doSomeWork(subMonitor, 300);
- *         } finally {
- *             subMonitor.done();
- *         }
- *         doSomeWork(pm, 30);
- *     } finally {
- *         pm.done();
- *     }
- * </pre>
- * <p>
- * This class may be instantiated or subclassed by clients.
-  * </p>
- */
-public class SubProgressMonitor extends ProgressMonitorWrapper {
-
-	/**
-	 * Style constant indicating that calls to <code>subTask</code>
-	 * should not have any effect.
-	 *
-	 * @see #SubProgressMonitor(IProgressMonitor,int,int)
-	 */
-	public static final int SUPPRESS_SUBTASK_LABEL= 1 << 1;
-	/**
-	 * Style constant indicating that the main task label 
-	 * should be prepended to the subtask label.
-	 *
-	 * @see #SubProgressMonitor(IProgressMonitor,int,int)
-	 */
-	public static final int PREPEND_MAIN_LABEL_TO_SUBTASK= 1 << 2;
-
-	private int parentTicks = 0;
-	private double sentToParent = 0.0;
-	private double scale = 0.0;
-	private int nestedBeginTasks = 0;
-	private boolean usedUp = false;
-	private int style;
-	private String mainTaskLabel;
-
-/**
- * Creates a new sub-progress monitor for the given monitor. The sub 
- * progress monitor uses the given number of work ticks from its 
- * parent monitor.
- *
- * @param monitor the parent progress monitor
- * @param ticks the number of work ticks allocated from the
- *    parent monitor
- */
-public SubProgressMonitor(IProgressMonitor monitor, int ticks) {
-	this(monitor, ticks, 0);
-}
-/**
- * Creates a new sub-progress monitor for the given monitor. The sub 
- * progress monitor uses the given number of work ticks from its 
- * parent monitor.
- *
- * @param monitor the parent progress monitor
- * @param ticks the number of work ticks allocated from the
- *    parent monitor
- * @param styles one of
- *    <ul>
- *    <li> <code>SUPPRESS_SUBTASK_LABEL</code> </li>
- *    <li> <code>PREPEND_MAIN_LABEL_TO_SUBTASK</code> </li>
- *    </ul>
- * @see #SUPPRESS_SUBTASK_LABEL
- * @see #PREPEND_MAIN_LABEL_TO_SUBTASK
- */
-public SubProgressMonitor(IProgressMonitor monitor, int ticks, int style) {
-	super(monitor);
-	this.parentTicks = ticks;
-	this.style = style;
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.beginTask</code>.
- *
- * Starts a new main task. Since this progress monitor is a sub
- * progress monitor, the given name will NOT be used to update
- * the progress bar's main task label. That means the given 
- * string will be ignored. If style <code>PREPEND_MAIN_LABEL_TO_SUBTASK
- * <code> is specified, then the given string will be prepended to
- * every string passed to <code>subTask(String)</code>.
- */
-public void beginTask(String name, int totalWork) {
-	nestedBeginTasks++;
-	// Ignore nested begin task calls.
-	if (nestedBeginTasks > 1) {
-		return;
-	}
-	// be safe:  if the argument would cause math errors (zero or 
-	// negative), just use 0 as the scale.  This disables progress for
-	// this submonitor. 
-	scale = totalWork <= 0 ? 0 : (double) parentTicks / (double) totalWork;
-	if ((style & PREPEND_MAIN_LABEL_TO_SUBTASK) != 0) {
-		mainTaskLabel = name;
-	}
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.done</code>.
- */
-public void done() {
-	// Ignore if more done calls than beginTask calls or if we are still
-	// in some nested beginTasks
-	if (nestedBeginTasks == 0 || --nestedBeginTasks > 0)
-		return;
-	// Send any remaining ticks and clear out the subtask text
-	double remaining = (double) parentTicks - sentToParent;
-	if (remaining > 0) 
-		super.internalWorked(remaining);
-	subTask(""); //$NON-NLS-1$
-	sentToParent = 0;
-}
-/* (Intentionally not javadoc'd)
- * Implements the internal method <code>IProgressMonitor.internalWorked</code>.
- */
-public void internalWorked(double work) {
-	if (usedUp || nestedBeginTasks != 1) {
-		return;
-	}
-
-	double realWork = scale * work;
-	// System.out.println("Sub monitor: " + realWork);
-	super.internalWorked(realWork);
-	sentToParent += realWork;
-	if (sentToParent >= parentTicks) {
-		usedUp = true;
-	}
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.subTask</code>.
- */
-public void subTask(String name) {
-	if ((style & SUPPRESS_SUBTASK_LABEL) != 0) {
-		return;
-	}
-
-	String label = name;
-	if ((style & PREPEND_MAIN_LABEL_TO_SUBTASK) != 0 && mainTaskLabel != null && mainTaskLabel.length() > 0) {
-		label = mainTaskLabel + ' ' + label;
-	}
-	super.subTask(label);
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.worked</code>.
- */
-public void worked(int work) {
-	internalWorked(work);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
deleted file mode 100644
index bd7b4f6..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined contents of an extension
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-
-public class ConfigurationElementModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String value = null;
-	private ConfigurationPropertyModel[] properties = null;
-	private ConfigurationElementModel[] children = null;
-
-	// transient properties (not included in plug-in manifest)
-	private Object parent = null; // parent element or declaring extension
-/**
- * Creates a new configuration element model in which all fields
- * are <code>null</code>.
- */
-public ConfigurationElementModel() {}
-/**
- * Returns the element which contains this element.  If this element
- * is an immediate child of an extension, the
- * returned value can be downcast to <code>ExtensionModel</code>.
- * Otherwise the returned value can be downcast to 
- * <code>ConfigurationElementModel</code>.
- *
- * @return the parent of this configuration element
- *  or <code>null</code>
- */
-public Object getParent() {
-	return parent;
-}
-/**
- * Returns the extension in which this configuration element is declared.
- * If this element is a top-level child of an extension, the returned value
- * is equivalent to <code>getParent</code>.
- *
- * @return the extension in which this configuration element is declared
- *  or <code>null</code>
- */
-public ExtensionModel getParentExtension() {
-	Object p = getParent();
-	while (p != null && p instanceof ConfigurationElementModel)
-		p = ((ConfigurationElementModel) p).getParent();
-	return (ExtensionModel) p;
-}
-/**
- * Returns the properties associated with this element.
- *
- * @return the properties associated with this element
- *  or <code>null</code>
- */
-public ConfigurationPropertyModel[] getProperties() {
-	return properties;
-}
-/**
- * Returns this element's sub-elements.
- *
- * @return the sub-elements of this element or <code>null</code>
- */
-public ConfigurationElementModel[] getSubElements() {
-	return children;
-}
-/**
- * Returns the value of this element.
- * 
- * @return the value of this element or <code>null</code>
- */
-public String getValue() {
-	return value;
-}
-/**
- * Returns the value of this element.
- * 
- * @return the value of this element or <code>null</code>
- * @since 2.0
- */
-public String getValueAsIs() {
-	return value;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
-	super.markReadOnly();
-	if (children != null)
-		for (int i = 0; i < children.length; i++)
-			children[i].markReadOnly();
-	if (properties != null)
-		for (int i = 0; i < properties.length; i++)
-			properties[i].markReadOnly();
-}
-/**
- * Sets the parent of this element.  The supplied parent is either
- * an <code>ExtensionModel</code>, if this element is to be a 
- * direct child of an extension, or another <code>ConfigurationElement</code>.
- * This object must not be read-only.
- *
- * @param value the new parent of this element.  May be <code>null</code>.
- */
-public void setParent(Object value) {
-	assertIsWriteable();
-	parent = value;
-}
-/**
- * Sets the properties associated with this element.  This object must not be read-only.
- *
- * @param value the properties to associate with this element.  May be <code>null</code>.
- */
-public void setProperties(ConfigurationPropertyModel[] value) {
-	assertIsWriteable();
-	properties = value;
-}
-/**
- * Sets configuration elements contained by this element
- * This object must not be read-only.
- *
- * @param value the configuration elements to be associated with this element.  
- *		May be <code>null</code>.
- */
-public void setSubElements(ConfigurationElementModel[] value) {
-	assertIsWriteable();
-	children = value;
-}
-/**
- * Sets the value of this element.  This object must not be read-only.
- * 
- * @param value the new value of this element.  May be <code>null</code>.
- */
-public void setValue(String value) {
-	assertIsWriteable();
-	this.value = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
deleted file mode 100644
index b1e1b45..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined properties in a configuration
- * element of a plug-in manifest.  Properties are <code>String</code>-based
- * key/value pairs.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ConfigurationPropertyModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String value = null;
-/**
- * Creates a new configuration property model in which all fields
- * are <code>null</code>.
- */
-public ConfigurationPropertyModel() {
-}
-/**
- * Returns the value of this property.
- * 
- * @return the value of this property
- *  or <code>null</code>
- */
-public String getValue() {
-	return value;
-}
-/**
- * Sets the value of this property.
- * This object must not be read-only.
- * 
- * @param value the new value of this property.  May be <code>null</code>.
- */
-public void setValue(String value) {
-	assertIsWriteable();
-	this.value = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
deleted file mode 100644
index c031623..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined extension in a 
- * plug-in manifest.  
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ExtensionModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String extensionPoint = null;
-	private String id = null;
-	private ConfigurationElementModel[] elements = null;
-
-	// transient properties (not included in plug-in manifest)
-	private PluginModel plugin = null; // declaring plugin
-/**
- * Creates a new extension model in which all fields
- * are <code>null</code>.
- */
-public ExtensionModel() {}
-/**
- * Returns the extension point with which this extension is associated.
- *
- * @return the extension point with which this extension is associated
- *  or <code>null</code>
- */
-public String getExtensionPoint() {
-	return extensionPoint;
-}
-/**
- * Returns the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and 
- * must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension (e.g. <code>"main"</code>)
- *  or <code>null</code>
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the plug-in model (descriptor or fragment) in which this extension is declared.
- *
- * @return the plug-in model in which this extension is declared
- *  or <code>null</code>
- */
-public PluginModel getParent() {
-	return plugin;
-}
-/**
- * Returns the plug-in descriptor in which this extension is declared.
- *
- * @return the plug-in descriptor in which this extension is declared
- *  or <code>null</code>
- */
-public PluginDescriptorModel getParentPluginDescriptor() {
-	return (PluginDescriptorModel) plugin;
-}
-/**
- * Returns the configuration element children of this extension.
- *
- * @return the configuration elements in this extension
- *  or <code>null</code>
- */
-public ConfigurationElementModel[] getSubElements() {
-	return elements;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
-	super.markReadOnly();
-	if (elements != null)
-		for (int i = 0; i < elements.length; i++)
-			elements[i].markReadOnly();
-}
-/**
- * Set the extension point with which this extension is associated.
- * This object must not be read-only.
- *
- * @return the extension point with which this extension is associated.  
- *		May be <code>null</code>.
- */
-public void setExtensionPoint(String value) {
-	assertIsWriteable();
-	extensionPoint = value;
-}
-/**
- * Sets the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and 
- * must be unique within the defining plug-in.
- * This object must not be read-only.
- *
- * @param value the simple identifier of the extension (e.g. <code>"main"</code>).
- *		May be <code>null</code>.
- */
-public void setId(String value) {
-	assertIsWriteable();
-	id = value;
-}
-/**
- * Sets the plug-in model in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in model in which this extension is declared.  
- *		May be <code>null</code>.
- */
-public void setParent(PluginModel value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the plug-in descriptor in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in descriptor in which this extension is declared.  
- *		May be <code>null</code>.
- */
-public void setParentPluginDescriptor(PluginDescriptorModel value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the configuration element children of this extension.
- * This object must not be read-only.
- *
- * @param value the configuration elements in this extension.  
- *		May be <code>null</code>.
- */
-public void setSubElements(ConfigurationElementModel[] value) {
-	assertIsWriteable();
-	elements = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
deleted file mode 100644
index 6f0c386..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined extension point in a 
- * plug-in manifest. 
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ExtensionPointModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String id = null;
-	private String schema = null;
-
-	// transient properties (not included in plug-in manifest)
-	private PluginModel plugin = null; // declaring plugin
-	private ExtensionModel[] extensions = null; // configured extensions
-/**
- * Creates a new extension point model in which all fields
- * are <code>null</code>.
- */
-public ExtensionPointModel() {}
-/**
- * Returns this extensions added to this extension point.
- *
- * @return the extensions in this extension point or <code>null</code>
- */
-public ExtensionModel[] getDeclaredExtensions() {
-	return extensions;
-}
-/**
- * Returns the simple identifier of this extension point, or <code>null</code>
- * if this extension point does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and 
- * must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension point (e.g. <code>"main"</code>)
- *  or <code>null</code>
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the plug-in model (descriptor or fragment) in which this extension is declared.
- *
- * @return the plug-in model in which this extension is declared
- *  or <code>null</code>
- */
-public PluginModel getParent() {
-	return plugin;
-}
-/**
- * Returns the plug-in descriptor in which this extension point is declared.
- *
- * @return the plug-in descriptor in which this extension point is declared
- *  or <code>null</code>
- */
-public PluginDescriptorModel getParentPluginDescriptor() {
-	return (PluginDescriptorModel) plugin;
-}
-/**
- * Returns the schema specification for this extension point.
- *
- * @return the schema specification for this extension point or <code>null</code>
- */
-public String getSchema() {
-	return schema;
-}
-/**
- * Sets this extensions added to this extension point.
- * This object must not be read-only.
- *
- * @param value the extensions in this extension point.
- *		May be <code>null</code>.
- */
-public void setDeclaredExtensions(ExtensionModel[] value) {
-	assertIsWriteable();
-	extensions = value;
-}
-/**
- * Sets the simple identifier of this extension point, or <code>null</code>
- * if this extension point does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and 
- * must be unique within the defining plug-in.
- * This object must not be read-only.
- *
- * @param value the simple identifier of the extension point (e.g. <code>"main"</code>).
- *		May be <code>null</code>.
- */
-public void setId(String value) {
-	assertIsWriteable();
-	id = value;
-}
-/**
- * Sets the plug-in model in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in model in which this extension is declared.  
- *		May be <code>null</code>.
- */
-public void setParent(PluginModel value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the plug-in descriptor in which this extension point is declared.
- * This object must not be read-only.
- *
- * @param the plug-in descriptor in which this extension point is declared.  
- * 		May be <code>null</code>.
- */
-public void setParentPluginDescriptor(PluginDescriptorModel value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the schema specification for this extension point.
- * This object must not be read-only.
- *
- * @param value the schema specification for this extension point.
- *		May be <code>null</code>.
- */
-public void setSchema(String value) {
-	assertIsWriteable();
-	schema = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
deleted file mode 100644
index e464e32..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-
-/**
- * An object which can create plug-in related model objects (typically when
- * parsing plug-in manifest files).
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-
-public class Factory {
-	private MultiStatus status;
-/**
- * Creates a factory which can be used to create plug-in model objects.
- * Errors and warnings during parsing etc. can be logged to the given 
- * status via the <code>error</code> method.
- *
- * @param status the status to which errors should be logged
- */
-public Factory(MultiStatus status) {
-	super();
-	this.status = status;
-}
-
-/**
- * Returns a new configuration element model which is not initialized.
- *
- * @return a new configuration element model
- */
-public ConfigurationElementModel createConfigurationElement() {
-	return new ConfigurationElementModel();
-}
-
-/**
- * Returns a new configuration property model which is not initialized.
- *
- * @return a new configuration property model
- */
-public ConfigurationPropertyModel createConfigurationProperty() {
-	return new ConfigurationPropertyModel();
-}
-
-/**
- * Returns a new extension model which is not initialized.
- *
- * @return a new extension model
- */
-public ExtensionModel createExtension() {
-	return new ExtensionModel();
-}
-/**
- * Returns a new extension point model which is not initialized.
- *
- * @return a new extension point model
- */
-public ExtensionPointModel createExtensionPoint() {
-	return new ExtensionPointModel();
-}
-/**
- * Returns a new library model which is initialized to not export any
- * of its code.
- *
- * @return a new library model
- */
-public LibraryModel createLibrary() {
-	return new LibraryModel();
-}
-/**
- * Returns a new plug-in descriptor model which is not initialized.
- *
- * @return a new plug-in descriptor model
- */
-public PluginDescriptorModel createPluginDescriptor() {
-	return new PluginDescriptorModel();
-}
-/**
- * Returns a new plug-in fragment model which is not initialized.
- *
- * @return a new plug-in fragment model
- */
-public PluginFragmentModel createPluginFragment() {
-	return new PluginFragmentModel();
-}
-/**
- * Returns a new plug-in prerequisite model which is initialized to
- * not export its code and to not require an exact match.
- *
- * @return a new plug-in prerequisite model
- */
-public PluginPrerequisiteModel createPluginPrerequisite() {
-	return new PluginPrerequisiteModel();
-}
-/**
- * Returns a new plug-in registry model with an empty plug-in table.
- *
- * @return a new plug-in registry model
- */
-public PluginRegistryModel createPluginRegistry() {
-	return new PluginRegistryModel();
-}
-
-/**
- * Returns a new URL model which is not initialized.
- *
- * @return a new URL model
- */
-public URLModel createURL() {
-	return new URLModel();
-}
-
-/**
- * Handles an error state specified by the status.  The collection of all logged status
- * objects can be accessed using <code>getStatus()</code>.
- *
- * @param error a status detailing the error condition
- */
-public void error(IStatus error) {
-	status.add(error);
-	if (InternalPlatform.DEBUG && InternalPlatform.DEBUG_PLUGINS)
-		System.out.println(error.toString());
-}
-/**
- * Returns all of the status objects logged thus far by this factory.
- *
- * @return a multi-status containing all of the logged status objects
- */
-public MultiStatus getStatus() {
-	return status;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
deleted file mode 100644
index 84d3efb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A runtime library declared in a plug-in.  Libraries contribute elements to the search path.
- * These contributions are specified as a path to a directory or Jar file.  This path is always
- * considered to be relative to the containing plug-in.  
- * <p>
- * Libraries are typed.  The type is used to determine to which search path the library's
- * contribution should be added.  The valid types are: <code>CODE</code> and
- * <code>RESOURCE</code>.  
- * </p>
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class LibraryModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String[] exports = null;
-	private String type = CODE;
-	private String[] packagePrefixes = null;
-
-	// transient properties (not included in plug-in manifest)
-	private boolean isExported = false;
-	private boolean isFullyExported = false;
-
-	/**
-	 * Constant string (value "code") indicating the code library type.
-	 */
-	public static final String CODE = "code"; //$NON-NLS-1$
-	
-	/**
-	 * Constant string (value "resource") indicating the resource library type.
-	 */
-	public static final String RESOURCE = "resource"; //$NON-NLS-1$
-	
-/**
- * Creates a new library model in which all fields
- * are <code>null</code>.
- */
-public LibraryModel() {}
-/**
- * Returns this library's export mask.
- *
- * @return this library's export mask or <code>null</code>
- */
-public String[] getExports() {
-	return exports;
-}
-/**
- * Returns this library's type.  
- *
- * @return the type of this library.  The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * @see #CODE
- * @see #RESOURCE
- */
-public String getType() {
-	return type;
-}
-/**
- * Returns whether or not any of the code in this library is exported.
- *
- * @return whether or not any of the code in this library represents is exported
- */
-public boolean isExported() {
-	return isExported;
-}
-/**
- * Returns whether or not all of the code in this library is exported.
- *
- * @return whether or not all of the code in this library is exported
- */
-public boolean isFullyExported() {
-	return isFullyExported;
-}
-/**
- * Sets this library's export mask.
- * This object must not be read-only.
- *
- * @param value this library's export mask.  May be <code>null</code>.
- */
-public void setExports(String[] value) {
-	assertIsWriteable();
-	exports = value;
-	if (value == null) {
-		isExported = false;
-		isFullyExported = false;
-	} else {
-		for (int i = 0; i < value.length; i++) {
-			if (!value[i].equals("")) //$NON-NLS-1$
-				isExported = true;
-			if (value[i].equals("*")) //$NON-NLS-1$
-				isFullyExported = true;
-		}
-	}
-}
-/**
- * Sets this library's type. The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * The given type value is canonicalized before being set.
- * This object must not be read-only.
- *
- * @param value the type of this library.
- * @see #CODE
- * @see #RESOURCE
- */
-public void setType(String value) {
-	assertIsWriteable();
-	String lcValue = value.toLowerCase();
-	Assert.isTrue (lcValue.equals(CODE) || lcValue.equals(RESOURCE));
-	type = lcValue;
-}
-/**
- * @see ILibrary#getPackagePrefixes
- */
-public String[] getPackagePrefixes() {
-	return packagePrefixes;
-}
-/**
- * Sets this library's package prefixes to be the specified array or <code>null</code>.
- */
-public void setPackagePrefixes(String[] packagePrefixes) {
-	this.packagePrefixes = packagePrefixes;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
deleted file mode 100644
index 1dc851e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined contents of a plug-in
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginDescriptorModel extends PluginModel {
-
-	// DTD properties (included in plug-in manifest)
-	private String pluginClass = null;
-
-	// transient properties (not included in plug-in manifest)
-	private boolean enabled = true; // whether or not the plugin definition loaded ok
-	private PluginFragmentModel[] fragments;
-
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginDescriptorModel() {
-	super();
-}
-/*
- * Returns true if this plugin has all of it's prerequisites and is,
- * therefore enabled.
- */
-public boolean getEnabled() {
-	return enabled;
-}
-
-/**
- * Returns the fragments installed for this plug-in.
- *
- * @return this plug-in's fragments or <code>null</code>
- */
-public PluginFragmentModel[] getFragments() {
-	return fragments;
-}
-
-/**
- * Returns the fully qualified name of the Java class which implements
- * the runtime support for this plug-in.
- *
- * @return the name of this plug-in's runtime class or <code>null</code>.
- */
-public String getPluginClass() {
-	return pluginClass;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.  
- * This identifier is a non-empty string and is unique 
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- *		(e.g. <code>"com.example"</code>) or <code>null</code>. 
- */
-public String getPluginId() {
-	return getId();
-}
-
-/*
- * Sets the value of the field 'enabled' to the parameter 'value'.
- * If this plugin is enabled (default) it is assumed to have all
- * of it's prerequisites.
- *
- * @param value set to false if this plugin should be disabled and
- * true otherwise.
- */
-public void setEnabled(boolean value) {
-	enabled = value;
-}
-
-/**
- * Sets the list of fragments for this plug-in.
- * This object must not be read-only.
- *
- * @param value the fragments for this plug-in.  May be <code>null</code>.
- */
-public void setFragments(PluginFragmentModel[] value) {
-	assertIsWriteable();
-	fragments = value;
-}
-
-/**
- * Sets the fully qualified name of the Java class which implements
- * the runtime support for this plug-in.
- * This object must not be read-only.
- *
- * @param value the name of this plug-in's runtime class.
- *		May be <code>null</code>.
- */
-public void setPluginClass(String value) {
-	assertIsWriteable();
-	pluginClass = value;
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
deleted file mode 100644
index a766095..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-
-/**
- * An object which represents the user-defined contents of a plug-in fragment
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginFragmentModel extends PluginModel {
-
-	public static final byte FRAGMENT_MATCH_UNSPECIFIED = 0;
-	public static final byte FRAGMENT_MATCH_PERFECT = 1;
-	public static final byte FRAGMENT_MATCH_EQUIVALENT = 2;
-	public static final byte FRAGMENT_MATCH_COMPATIBLE = 3;
-	public static final byte FRAGMENT_MATCH_GREATER_OR_EQUAL = 4;
-
-	// DTD properties (included in plug-in manifest)
-	private String plugin = null;
-	private String pluginVersion = null;
-	private byte pluginMatch = FRAGMENT_MATCH_UNSPECIFIED;
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginFragmentModel() {
-	super();
-}
-/**
- * Returns a byte code indicating the type of match this fragment requires
- * when trying to find its associated plugin.
- * The byte code can be any one of the following:
- * FRAGMENT_MATCH_UNSPECIFIED			initial value
- * FRAGMENT_MATCH_PERFECT				perfectly equal match
- * FRAGMENT_MATCH_EQUIVALENT			equivalent match
- * FRAGMENT_MATCH_COMPATIBLE			compatible match
- * FRAGMENT_MATCH_GREATER_OR_EQUAL		greater than or equal to match
- *
- * @return a byte code indicating the type of match this fragment requires
- * @since 2.0
- */
-public byte getMatch() {
-	return pluginMatch;
-}
-/**
- * Returns the fully qualified name of the plug-in for which this is a fragment
- *
- * @return the name of this fragment's plug-in or <code>null</code>.
- */
-public String getPlugin() {
-	return plugin;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.  
- * This identifier is a non-empty string and is unique 
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- *		(e.g. <code>"com.example"</code>) or <code>null</code>. 
- */
-public String getPluginId() {
-	return getPlugin();
-}
-/**
- * Returns the version name of the plug-in for which this is a fragment.
- *
- * @return the version name of this fragment's plug-in or <code>null</code>
- */
-public String getPluginVersion() {
-	return pluginVersion;
-}
-/**
- * Sets the type of match this fragment requires when trying to
- * find its associated plugin.  The value parameter may be any
- * one of the following:
- * FRAGMENT_MATCH_UNSPECIFIED			initial value
- * FRAGMENT_MATCH_PERFECT				perfectly equal match
- * FRAGMENT_MATCH_EQUIVALENT			equivalent match
- * FRAGMENT_MATCH_COMPATIBLE			compatible match
- * FRAGMENT_MATCH_GREATER_OR_EQUAL		greater than or equal to match
- * This object must not be read-only.
- *
- * @param value the type of match required with the associated plugin
- * @since 2.0
- */
-public void setMatch(byte value) {
-	assertIsWriteable();
-	Assert.isTrue ((value == FRAGMENT_MATCH_PERFECT) ||
-	               (value == FRAGMENT_MATCH_EQUIVALENT) ||
-	               (value == FRAGMENT_MATCH_COMPATIBLE) ||
-	               (value == FRAGMENT_MATCH_GREATER_OR_EQUAL));
-	pluginMatch = value;
-}
-/**
- * Sets the fully qualified name of the plug-in for which this is a fragment
- * This object must not be read-only.
- *
- * @param value the name of this fragment's plug-in.
- *		May be <code>null</code>.
- */
-public void setPlugin(String value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the version name of the plug-in for which this is a fragment.
- * The given version number is canonicalized.
- * This object must not be read-only.
- *
- * @param value the version name of this fragment's plug-in.
- *		May be <code>null</code>.
- */
-public void setPluginVersion(String value) {
-	assertIsWriteable();
-	pluginVersion = new PluginVersionIdentifier(value).toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
deleted file mode 100644
index 5176a8c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-
-/**
- * An object which represents the user-defined contents of a plug-in model
- * (either a descriptor or a fragment) in a plug-in manifest.
- * <p>
- * This class may not be instantiated, but may be further subclassed.
- * </p>
- */
-public abstract class PluginModel extends PluginModelObject {
-
-	// DTD properties (included in plug-in manifest)
-	private String id = null;
-	private String providerName = null;
-	private String version = null;
-	private LibraryModel[] runtime = null;
-	private ExtensionPointModel[] extensionPoints = null;
-	private ExtensionModel[] extensions = null;
-	private PluginPrerequisiteModel[] requires = null;
-
-	// transient properties (not included in plug-in manifest)
-	private PluginRegistryModel registry = null;
-	private String location = null;
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginModel() {
-	super();
-}
-/**
- * Returns the extension points in this plug-in descriptor.
- *
- * @return the extension points in this plug-in descriptor or <code>null</code>
- */
-public ExtensionPointModel[] getDeclaredExtensionPoints() {
-	return extensionPoints;
-}
-/**
- * Returns the extensions in this plug-in descriptor.
- *
- * @return the extensions in this plug-in descriptor or <code>null</code>
- */
-public ExtensionModel[] getDeclaredExtensions() {
-	return extensions;
-}
-/**
- * Returns the unique identifier of this plug-in model
- * or <code>null</code>.
- * This identifier is a non-empty string and is unique 
- * within the plug-in registry.
- *
- * @return the unique identifier of this plugin model
- *		(e.g. <code>"com.example"</code>) or <code>null</code>. 
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the location of the plug-in manifest file (e.g., <code>plugin.xml</code>)
- * which corresponds to this plug-in descriptor.  The location is in the
- * form of a URL.
- *
- * @return the location of this plug-in descriptor or <code>null</code>.
- */
-public String getLocation() {
-	return location;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.  
- * This identifier is a non-empty string and is unique 
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- *		(e.g. <code>"com.example"</code>) or <code>null</code>. 
- */
-public abstract String getPluginId();
-/**
- * Returns the name of the provider who authored this plug-in.
- *
- * @return name of the provider who authored this plug-in or <code>null</code>
- */
-public String getProviderName() {
-	return providerName;
-}
-/**
- * Returns the plug-in registry of which this plug-in descriptor is a member.
- *
- * @return the registry in which this descriptor has been installed or 
- *		<code>null</code> if none.
- */
-public PluginRegistryModel getRegistry() {
-	return registry;
-}
-
-/**
- * Returns the prerequisites of this plug-in.
- *
- * @return the prerequisites of this plug-in or <code>null</code>
- */
-public PluginPrerequisiteModel[] getRequires() {
-	return requires;
-}
-
-/**
- * Returns the libraries configured for this plug-in.
- *
- * @return the libraries configured for this plug-in or <code>null</code>
- */
-public LibraryModel[] getRuntime() {
-	return runtime;
-}
-/**
- * Returns the version name of this plug-in.
- *
- * @return the version name of this plug-in or <code>null</code>
- */
-public String getVersion() {
-	return version;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
-	super.markReadOnly();
-	if (runtime != null)
-		for (int i = 0; i < runtime.length; i++)
-			runtime[i].markReadOnly();
-	if (extensionPoints != null)
-		for (int i = 0; i < extensionPoints.length; i++)
-			extensionPoints[i].markReadOnly();
-	if (extensions != null)
-		for (int i = 0; i < extensions.length; i++)
-			extensions[i].markReadOnly();
-	if (requires != null)
-		for (int i = 0; i < requires.length; i++)
-			requires[i].markReadOnly();
-}
-/**
- * Sets the extension points in this plug-in descriptor.
- * This object must not be read-only.
- *
- * @param value the extension points in this plug-in descriptor.
- *		May be <code>null</code>.
- */
-public void setDeclaredExtensionPoints(ExtensionPointModel[] value) {
-	assertIsWriteable();
-	extensionPoints = value;
-}
-/**
- * Sets the extensions in this plug-in descriptor.
- * This object must not be read-only.
- *
- * @param value the extensions in this plug-in descriptor.
- *		May be <code>null</code>.
- */
-public void setDeclaredExtensions(ExtensionModel[] value) {
-	assertIsWriteable();
-	extensions = value;
-}
-/**
- * Sets the unique identifier of this plug-in model.
- * The identifier is a non-empty string and is unique 
- * within the plug-in registry.
- * This object must not be read-only.
- *
- * @param value the unique identifier of the plug-in model (e.g. <code>"com.example"</code>).
- *		May be <code>null</code>.
- */
-public void setId(String value) {
-	assertIsWriteable();
-	id = value;
-}
-/**
- * Sets the location of the plug-in manifest file (e.g., <code>plugin.xml</code>)
- * which corresponds to this plug-in descriptor.  The location is in the
- * form of a URL.
- * This object must not be read-only.
- *
- * @param value the location of this plug-in descriptor.  May be <code>null</code>.
- */
-public void setLocation(String value) {
-	assertIsWriteable();
-	location = value;
-}
-/**
- * Sets the name of the provider who authored this plug-in.
- * This object must not be read-only.
- *
- * @param value name of the provider who authored this plug-in.
- *		May be <code>null</code>.
- */
-public void setProviderName(String value) {
-	assertIsWriteable();
-	providerName = value;
-}
-/**
- * Sets the registry with which this plug-in descriptor is associated.
- * This object must not be read-only.
- *
- * @param value the registry with which this plug-in is associated.
- *		May be <code>null</code>.
- */
-public void setRegistry(PluginRegistryModel value) {
-	assertIsWriteable();
-	registry = value;
-}
-
-/**
- * Sets the prerequisites of this plug-in.
- * This object must not be read-only.
- *
- * @param value the prerequisites of this plug-in.  May be <code>null</code>.
- */
-public void setRequires(PluginPrerequisiteModel[] value) {
-	assertIsWriteable();
-	requires = value;
-}
-
-/**
- * Sets the libraries configured for this plug-in.
- * This object must not be read-only.
- *
- * @param value the libraries configured for this plug-in.  May be <code>null</code>.
- */
-public void setRuntime(LibraryModel[] value) {
-	assertIsWriteable();
-	runtime = value;
-}
-/**
- * Sets the version name of this plug-in.  The version number
- * is canonicalized.
- * This object must not be read-only.
- *
- * @param value the version name of this plug-in.
- *		May be <code>null</code>.
- */
-public void setVersion(String value) {
-	assertIsWriteable();
-	version = new PluginVersionIdentifier(value).toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
deleted file mode 100644
index 76fa8fb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
deleted file mode 100644
index 646d8e5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-/**
- * An object which represents the relationship between a plug-in and a
- * prerequisite plug-in in the dependent's plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginPrerequisiteModel extends PluginModelObject {
-
-	public static final byte PREREQ_MATCH_UNSPECIFIED = 0;
-	public static final byte PREREQ_MATCH_PERFECT = 1;
-	public static final byte PREREQ_MATCH_EQUIVALENT = 2;
-	public static final byte PREREQ_MATCH_COMPATIBLE = 3;
-	public static final byte PREREQ_MATCH_GREATER_OR_EQUAL = 4;
-
-	// DTD properties (included in plug-in manifest)
-	private String plugin = null;
-	private String version = null;
-	private byte match = PREREQ_MATCH_UNSPECIFIED;
-	private boolean export = false;
-	private String resolvedVersion = null;
-	private boolean optional = false;
-
-/**
- * Creates a new plug-in prerequisite model in which all fields
- * are <code>null</code>.
- */
-public PluginPrerequisiteModel() {
-	super();
-}
-/**
- * Returns whether or not the code in this pre-requisite is exported.
- *
- * @return whether or not the code in this pre-requisite is exported
- */
-public boolean getExport() {
-	return export;
-}
-/**
- * Returns whether or not this pre-requisite requires an exact match.
- *
- * @return whether or not this pre-requisite requires an exact match
- * @deprecated - use getMatchByte
- */
-public boolean getMatch() {
-	return (match == PREREQ_MATCH_EQUIVALENT);
-}
-/**
- * Returns a byte code indicating the type of match this pre-requisite requires.
- * The byte code can be any one of the following:
- * PREREQ_MATCH_UNSPECIFIED			initial value
- * PREREQ_MATCH_PERFECT				perfectly equal match
- * PREREQ_MATCH_EQUIVALENT			equivalent match
- * PREREQ_MATCH_COMPATIBLE			compatible match
- * PREREQ_MATCH_GREATER_OR_EQUAL	greater than or equal to match
- *
- * @return a byte code indicating the type of match this pre-requisite requires
- * @since 2.0
- */
-public byte getMatchByte() {
-	return match;
-}
-/**
- * Returns whether this pre-requisite is optional.
- *
- * @return whether this pre-requisite is optional
- */
-public boolean getOptional() {
-	return optional;
-}
-/**
- * Returns the plug-in identifier of the prerequisite plug-in.
- * 
- * @return the plug-in identifier or <code>null</code>
- */
-public String getPlugin() {
-	return plugin;
-}
-/**
- * Returns the resolved version of the prerequisite plug-in.  The
- * returned value is in the format specified by <code>PluginVersionIdentifier</code>.
- *
- * @return the version of the prerequisite plug-in
- * @see PluginVersionIdentifier
- */
-public String getResolvedVersion() {
-	return resolvedVersion;
-}
-/**
- * Returns the version name of this plug-in.
- *
- * @return the version name of this plug-in or <code>null</code>
- */
-public String getVersion() {
-	return version;
-}
-/**
- * Sets whether or not the code in this pre-requisite is exported.
- * This object must not be read-only.
- *
- * @param value whether or not the code in this pre-requisite is exported
- */
-public void setExport(boolean value) {
-	assertIsWriteable();
-	export = value;
-}
-/**
- * Sets whether or not this pre-requisite requires an exact match.
- * This object must not be read-only.
- *
- * @param value whether or not this pre-requisite requires an exact match
- * @deprecated use setMatchByte
- */
-public void setMatch(boolean value) {
-	assertIsWriteable();
-	if (value) {
-		setMatchByte(PREREQ_MATCH_EQUIVALENT);
-	} else {
-		setMatchByte(PREREQ_MATCH_COMPATIBLE);
-	}
-}
-/**
- * Sets whether or not this pre-requisite requires an exact match.
- * This object must not be read-only.
- *
- * @param value whether or not this pre-requisite requires an exact match
- * @since 2.0
- */
-public void setMatchByte(byte value) {
-	assertIsWriteable();
-	Assert.isTrue ((value == PREREQ_MATCH_PERFECT) ||
-	               (value == PREREQ_MATCH_EQUIVALENT) ||
-	               (value == PREREQ_MATCH_COMPATIBLE) ||
-	               (value == PREREQ_MATCH_GREATER_OR_EQUAL));
-	match = value;
-}
-/**
- * Sets whether this pre-requisite is optional.
- * This object must not be read-only.
- *
- * @param value whether this pre-requisite is optional
- */
-public void setOptional(boolean value) {
-	assertIsWriteable();
-	optional = value;
-}
-/**
- * Sets the plug-in identifier of this prerequisite plug-in.
- * This object must not be read-only.
- * 
- * @param value the prerequisite plug-in identifier.  May be <code>null</code>.
- */
-public void setPlugin(String value) {
-	assertIsWriteable();
-	plugin = value;
-}
-/**
- * Sets the resolved version of the prerequisite plug-in.  The
- * given value is in the format specified by <code>PluginVersionIdentifier</code>.
- *
- * @param value the version of the prerequisite plug-in
- * @see PluginVersionIdentifier
- */
-public void setResolvedVersion(String value) {
-	assertIsWriteable();
-	resolvedVersion = value;
-}
-/**
- * Sets the version name of this plug-in prerequisite.
- * This object must not be read-only.
- *
- * @param value the version name of this plug-in prerequisite.
- *		May be <code>null</code>.
- */
-public void setVersion(String value) {
-	assertIsWriteable();
-	version = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
deleted file mode 100644
index c0b8ed2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.internal.runtime.Assert;
-import org.eclipse.core.internal.plugins.RegistryResolver;
-import java.util.*;
-
-/**
- * A container for a collection of plug-in descriptors.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginRegistryModel {
-
-	// transient properties (not included in plug-in manifest)
-	private Map plugins = new HashMap(30);
-	private Map fragments = new HashMap(30);
-	private boolean readOnly = false;
-	private boolean resolved = false;
-/**
- * Creates a new plug-in registry model which contains no plug-ins.
- */
-public PluginRegistryModel() {
-	super();
-}
-/**
- * Adds the specified plug-in fragment to this registry.  An existing fragment
- * with the same unique id and version is replaced by the new
- * value.  
- *
- * @param fragment the plug-in fragment to add
- */
-public void addFragment(PluginFragmentModel fragment) {
-	assertIsWriteable();
-	String key = fragment.getId();
-	PluginFragmentModel[] list = getFragments(key);
-	if (list == null) {
-		list = new PluginFragmentModel[1];
-		list[0] = fragment;
-		fragments.put(key, list);
-	} else {
-		//XXX should we check for duplicates?  See javadoc comment.
-//		for (int i = 0; i < list.length; i++) {
-//			if (list[i].getVersion().equals(fragment.getVersion())) {
-//				//replace with new plugin
-//				list[i] = fragment;
-//				return;
-//			}
-//		}
-		PluginFragmentModel[] newList = new PluginFragmentModel[list.length + 1];
-		System.arraycopy(list, 0, newList, 0, list.length);
-		newList[list.length] = fragment;
-		fragments.put(key, newList);
-	}
-}
-/**
- * Adds the specified plug-in to this registry.  An existing plug-in
- * with the same unique id and version is replaced by the new
- * value.  
- *
- * @param plugin the plug-in descriptor to add
- */
-public void addPlugin(PluginDescriptorModel plugin) {
-	assertIsWriteable();
-	String key = plugin.getId();
-	PluginDescriptorModel[] pluginList = getPlugins(key);
-	if (pluginList == null) {
-		pluginList = new PluginDescriptorModel[1];
-		pluginList[0] = plugin;
-		plugins.put(key, pluginList);
-	} else {
-		//check for duplicates
-		for (int i = 0; i < pluginList.length; i++) {
-			if (pluginList[i].getVersion().equals(plugin.getVersion())) {
-				//replace with new plugin
-				pluginList[i] = plugin;
-				return;
-			}
-		}
-		PluginDescriptorModel[] newPluginList = new PluginDescriptorModel[pluginList.length + 1];
-		System.arraycopy(pluginList, 0, newPluginList, 0, pluginList.length);
-		newPluginList[pluginList.length] = plugin;
-		plugins.put(key, newPluginList);
-	}
-}
-/**
- * Checks that this model object is writeable.  A runtime exception
- * is thrown if it is not.
- */
-protected void assertIsWriteable() {
-	Assert.isTrue(!isReadOnly(), "Model is read-only"); //$NON-NLS-1$
-}
-/**
- * Returns the plug-in fragment with the given identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * fragment.  If there are multiple versions of the identified fragment,
- * one will be non-deterministically chosen and returned.  
- *
- * @param id the unique identifier of the plug-in fragment
- *		(e.g. <code>"com.example.acme"</code>).
- * @return the plug-in fragment, or <code>null</code>
- */
-public PluginFragmentModel getFragment(String id) {
-	PluginFragmentModel[] result = (PluginFragmentModel[]) fragments.get(id);
-	return result == null ? null : result[0];
-}
-/**
- * Returns the identified plug-in fragment or <code>null</code> if
- * the fragment does not exist.
- *
- * @param id the unique identifier of the plug-in fragment
- * @param version fragment version identifier. If <code>null</code> is
- * specified, a non-deterministically chosen version of the identified fragment
- * (if any) will be returned
- * @return the matching fragment in this registry, or <code>null</code>
- */
-public PluginFragmentModel getFragment(String id, String version) {
-	PluginFragmentModel[] list = getFragments(id);
-	if (list == null || list.length == 0)
-		return null;
-	if (version == null)
-		// Just return the first one in the list (random)
-		return list[0];
-
-	for (int i = 0; i < list.length; i++) {
-		PluginFragmentModel element = list[i];
-		if (element.getVersion().equals(version))
-			return element;
-	}
-	return null;
-}
-/**
- * Returns the list of plug-in fragments managed by this registry.
- *
- * @return the fragments in this registry
- */
-public PluginFragmentModel[] getFragments() {
-	List result = new ArrayList(fragments.size());
-	for (Iterator i = fragments.values().iterator(); i.hasNext();) {
-		PluginFragmentModel[] entries = (PluginFragmentModel[]) i.next();
-		for (int j = 0; j < entries.length; j++)
-			result.add(entries[j]);
-	}
-	return (PluginFragmentModel[]) result.toArray(new PluginFragmentModel[result.size()]);
-}
-/**
- * Returns all versions of the identified plug-in fragment
- * known to this plug-in registry.
- * Returns an empty array if there are no fragments
- * with the specified identifier.
- *
- * @param id the unique identifier of the plug-in fragment
- *		(e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the fragments known to this plug-in registry with the given id
- */
-public PluginFragmentModel[] getFragments(String id) {
-	return (PluginFragmentModel[]) fragments.get(id);
-}
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * plug-in.  If there are multiple versions of the identified plug-in,
- * one will be non-deterministically chosen and returned.  
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"com.example.acme"</code>).
- * @return the plug-in descriptor, or <code>null</code>
- */
-public PluginDescriptorModel getPlugin(String pluginId) {
-	PluginDescriptorModel[] result = (PluginDescriptorModel[]) plugins.get(pluginId);
-	return result == null ? null : result[0];
-}
-/**
- * Returns the identified plug-in or <code>null</code> if
- * the plug-in does not exist. 
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>)
- * @param version plug-in version identifier. If <code>null</code> is specified,
- * a non-deterministically chosen version of the identified plug-in (if any)
- * will be returned
- * @return the matching plug-in in this registry or <code>null</code>
- */
-public PluginDescriptorModel getPlugin(String pluginId, String version) {
-	PluginDescriptorModel[] list = getPlugins(pluginId);
-	if (list == null || list.length == 0)
-		return null;
-	if (version == null)
-		// Just return the first one in the list (random)
-		return list[0];
-
-	for (int i = 0; i < list.length; i++) {
-		PluginDescriptorModel element = list[i];
-		if (element.getVersion().equals(version))
-			return element;
-	}
-	return null;
-}
-/**
- * Returns the list of plug-ins managed by this registry.
- *
- * @return the plug-ins in this registry
- */
-public PluginDescriptorModel[] getPlugins() {
-	List result = new ArrayList(plugins.size());
-	for (Iterator i = plugins.values().iterator(); i.hasNext();) {
-		PluginDescriptorModel[] entries = (PluginDescriptorModel[]) i.next();
-		for (int j = 0; j < entries.length; j++)
-			result.add(entries[j]);
-	}
-	return (PluginDescriptorModel[]) result.toArray(new PluginDescriptorModel[result.size()]);
-}
-/**
- * Returns all versions of the identified plug-in descriptor
- * known to this plug-in registry.
- * Returns an empty array if there are no plug-ins
- * with the specified identifier.
- *
- * @param pluginId the unique identifier of the plug-in 
- *		(e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the plug-in descriptors known to this plug-in registry
- */
-public PluginDescriptorModel[] getPlugins(String pluginId) {
-	return (PluginDescriptorModel[]) plugins.get(pluginId);
-}
-/**
- * Returns whether or not this model object is read-only.
- * 
- * @return <code>true</code> if this model object is read-only,
- *		<code>false</code> otherwise
- * @see #markReadOnly
- */
-public boolean isReadOnly() {
-	return readOnly;
-}
-/**
- * Returns whether or not this model object has been resolved.
- * 
- * @return <code>true</code> if this model object has been resolved,
- *		<code>false</code> otherwise
- * @see #resolve
- */
-public boolean isResolved() {
-	return resolved;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
-	readOnly = true;
-	for (Iterator it = plugins.values().iterator(); it.hasNext();) {
-		PluginDescriptorModel[] list = (PluginDescriptorModel[]) it.next();
-		for (int i = 0; i < list.length; i++)
-			list[i].markReadOnly();
-	}
-	for (Iterator it = fragments.values().iterator(); it.hasNext();) {
-		PluginFragmentModel[] list = (PluginFragmentModel[]) it.next();
-		for (int i = 0; i < list.length; i++)
-			list[i].markReadOnly();
-	}
-}
-/**
- * Sets this model object to be resolved.
- */
-public void markResolved() {
-	resolved = true;
-}
-/**
- * Removes the fragment with id and version if it exists in this registry.
- * This method has no effect if a fragment with the given id and version 
- * cannot be found.
- *
- * @param id the unique identifier of the fragment to remove
- * @param version the version of the fragment to remove
- */
-public void removeFragment(String id, String version) {
-	assertIsWriteable();
-	PluginFragmentModel[] list = getFragments(id);
-	if (list == null || list.length == 0)
-		return;
-	int removedCount = 0;
-	for (int i = 0; i < list.length; i++) {
-		if (version.equals(list[i].getVersion())) {
-			list[i] = null;
-			removedCount++;
-		}
-	}
-	// If all were removed, toss the whole entry.  Otherwise, compact the array
-	if (removedCount == list.length)
-		removeFragments(id);
-	else {
-		PluginFragmentModel[] newList = new PluginFragmentModel[list.length - removedCount];
-		int index = 0;
-		for (int i = 0; i < list.length; i++) {
-			if (list[i] != null)
-				newList[index++] = list[i];
-		}
-		fragments.put(id, newList);
-	}
-}
-/**
- * Removes all versions of the identified plug-in fragment from this registry.
- * This method has no effect if such a fragment cannot be found.
- *
- * @param id the unique identifier of the fragments to remove
- */
-public void removeFragments(String id) {
-	assertIsWriteable();
-	fragments.remove(id);
-}
-/**
- * Removes the plug-in with id and version if it exists in this registry.
- * This method has no effect if a plug-in with the given id and version 
- * cannot be found.
- *
- * @param pluginId the unique identifier of the plug-in to remove
- * @param version the version of the plug-in to remove
- */
-public void removePlugin(String pluginId, String version) {
-	assertIsWriteable();
-	PluginDescriptorModel[] plugins = getPlugins(pluginId);
-	if (plugins == null || plugins.length == 0)
-		return;
-	int removedCount = 0;
-	for (int i = 0; i < plugins.length; i++) {
-		if (version.equals(plugins[i].getVersion())) {
-			plugins[i] = null;
-			removedCount++;
-		}
-	}
-	// If all were removed, toss the whole entry.  Otherwise, compact the array
-	if (removedCount == plugins.length)
-		removePlugins(pluginId);
-	else {
-		PluginDescriptorModel[] newList = new PluginDescriptorModel[plugins.length - removedCount];
-		int index = 0;
-		for (int i = 0; i < plugins.length; i++) {
-			if (plugins[i] != null)
-				newList[index++] = plugins[i];
-		}
-		this.plugins.put(pluginId,newList);
-	}
-}
-/**
- * Removes all versions of the given plug-in from this registry.
- * This method has no effect if such a plug-in cannot be found.
- *
- * @param pluginId the unique identifier of the plug-ins to remove
- */
-public void removePlugins(String pluginId) {
-	assertIsWriteable();
-	plugins.remove(pluginId);
-}
-/**
- * Runs a resolve through the entire registry.  This resolve will
- * mark any PluginDescriptorModels which do not have access to all
- * of their prerequisites as disabled.  Prerequisites which cause
- * cyclical dependencies will be marked as disabled.
- *
- * If the parameter trimDisabledPlugins is set to true, all PluginDescriptorModels
- * which are labelled as disabled will be removed from the registry.
- *
- * If the paramter doCrossLinking is set to true, links will be
- * created between ExtensionPointModels and their corresponding
- * ExtensionModels.  Not that these links will include disabled
- * plugins if trimDisabledPlugins was set to false.
- *
- * @param trimDisabledPlugins if true, remove all disabled plugins
- * from the registry (recommended value = true)
- *
- * @param doCrossLinking if true, link all ExtensionModels in the registry
- * to their corresponding ExtensionPointModel (recommended value = true).
- */
-public IStatus resolve(boolean trimDisabledPlugins, boolean doCrossLinking) {
-	RegistryResolver resolver = new RegistryResolver();
-	resolver.setTrimPlugins(trimDisabledPlugins);
-	resolver.setCrossLink(doCrossLinking);
-	return resolver.resolve(this);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
deleted file mode 100644
index c07c8f2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents a named URL in a component or configuration
- * manifest.
- * <p>
- * This class may be instantiated and further subclassed.
- * </p>
- */
-
-public class URLModel extends PluginModelObject {
-	// DTD properties (included in install manifest)
-	private String url = null;
-
-/**
- * Returns the URL specification.
- *
- * @return the URL specification or <code>null</code>.
- */
-public String getURL() {
-	return url;
-}
-
-/**
- * Sets the URL specification.
- * This object must not be read-only.
- *
- * @param value the URL specification.
- *		May be <code>null</code>.
- */
-public void setURL(String value) {
-	assertIsWriteable();
-	url = value;
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
deleted file mode 100644
index e25bcaf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
+++ /dev/null
@@ -1,16 +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>Package-level Javadoc</title>
-</head>
-<body>
-Provides core support for the modeling plug-ins and the plug-in registry.
-<h2>Package Specification</h2>
-This package specifies the runtime API related to modeling plug-ins and the plug-in
-registry.  The types provided here are typically data containers and have very little 
-behaviour other than setters and getters.  They are primarily intended for clients writing
-tools which manipulate/change registry entries as part of their normal work.  
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
deleted file mode 100644
index c11e920..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
+++ /dev/null
@@ -1,20 +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>Package-level Javadoc</title>
-</head>
-<body>
-Provides core support for plug-ins and the plug-in registry.
-<h2>
-Package Specification</h2>
-This package specifies the API related to running the platform itself.  This includes 
-area such as the definition and management of plug-ins and the starting, stopping and maintaining the 
-platform itself.  In addition, this API supplies various utility types such as <tt>Path</tt>, 
-<tt>IPath</tt> and various flavours of progress monitors.
-<p>
-Clients writing plug-ins or accessing plug-in functionality will likely be interested in the types
-provided by this package.
-</p>
-</body>
-</html>
diff --git a/tests/org.eclipse.core.tests.runtime/.classpath b/tests/org.eclipse.core.tests.runtime/.classpath
deleted file mode 100644
index 2bda792..0000000
--- a/tests/org.eclipse.core.tests.runtime/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.tests.harness"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.junit"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.core.tests.runtime/.cvsignore b/tests/org.eclipse.core.tests.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/.project b/tests/org.eclipse.core.tests.runtime/.project
deleted file mode 100644
index e59a007..0000000
--- a/tests/org.eclipse.core.tests.runtime/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.tests.runtime</name>
-	<comment></comment>
-	<projects>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.core.tests.harness</project>
-		<project>org.junit</project>
-	</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/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
deleted file mode 100644
index 49b86e0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/20011219/eclipse/plugins/

-test=file:c:/LibraryLookupTests/JarLookupTests/
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
deleted file mode 100644
index 9904fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="%pluginName"
-  id="JarLookupTest1"
-  version="1.0.0"
-  provider-name="Object Technology International, Inc.">
-
-  <runtime>
-      <library name="$ws$/jarLookupTest1.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
deleted file mode 100644
index 6e2a578..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
deleted file mode 100644
index db48b65..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
deleted file mode 100644
index e2b06ef..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="%pluginName"
-  id="JarLookupTest2"
-  version="1.0.0"
-  provider-name="Object Technology International, Inc.">
-
-  <runtime>
-      <library name="$ws$/jarLookupTest2.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
deleted file mode 100644
index 8f8e5ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="%pluginName"
-  id="JarLookupTest3"
-  version="1.0.0"
-  provider-name="Object Technology International, Inc.">
-
-  <runtime>
-      <library name="$ws$/jarLookupTest3.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
deleted file mode 100644
index e38f718..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
deleted file mode 100644
index b773ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
deleted file mode 100644
index 524c9f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="%pluginName"
-  id="JarLookupTest4"
-  version="1.0.0"
-  provider-name="Object Technology International, Inc.">
-
-  <runtime>
-      <library name="$os$/jarLookupTest4.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
deleted file mode 100644
index 18f4088..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-1GHFPFY: ITPCORE:ALL - fragment runtime libs added twice
-
-PRODUCT VERSION:
-0.9
-
-DESCRIPTION:
-
-When you have a runtime statement in a fragment, the library is added to the base plugin twice.
-
-NOTES:
-
-DDW (26/07/2001 11:32:17 AM)
-	RegistryResolver was adding any fragment element to the relevant plugin twice (see
-	resolvePluginRegistry).  Fixed in 1.0 and current development stream.
-=======================================
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
deleted file mode 100644
index 6ad2111..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHFPFY Fragment Test"
-  id="PR1GHFPFYFragmentTest"
-  plugin-id="PR1GHFPFYPluginTest"
-  version="1.2"
-  plugin-version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt3" name="Thirdextension point"/>
-  <extension-point id="xpt4" name="Fourth extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
deleted file mode 100644
index c0bbed4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="PR1GHFPFY Plugin Test"
-  id="PR1GHFPFYPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point"/>
-  <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
deleted file mode 100644
index d025bf3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHFPFY Fragment Test"
-  id="PR1GHFPFYFragmentTest"
-  plugin-id="PR1GHFPFYPluginTest"
-  version="1.2"
-  plugin-version="1.2"
-  vendor-name="OTI">
-
-  <extension id="x3" name="Third extension" point="xpt4"/>
-  <extension id="x4" name="Fourth extension" point="xpt3"/>
-
-  <extension-point id="xpt3" name="Thirdextension point"/>
-  <extension-point id="xpt4" name="Fourth extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
deleted file mode 100644
index d87d9fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="PR1GHFPFY Plugin Test"
-  id="PR1GHFPFYPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension id="x1" name="First extension" point="xpt1"/>
-  <extension id="x2" name="Second extension" point="xpt2"/>
-
-  <extension-point id="xpt1" name="First extension point"/>
-  <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
deleted file mode 100644
index 7b3c731..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHFPFY Fragment Test"
-  id="PR1GHFPFYFragmentTest"
-  plugin-id="PR1GHFPFYPluginTest"
-  version="1.2"
-  plugin-version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib4.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
deleted file mode 100644
index e6c3798..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="PR1GHFPFY Plugin Test"
-  id="PR1GHFPFYPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
deleted file mode 100644
index 5ed624e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHFPFY Fragment Test"
-  id="PR1GHFPFYFragmentTest"
-  plugin-id="PR1GHFPFYPluginTest"
-  version="1.2"
-  plugin-version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testc"/>
-     <import plugin="testd" version="1.0.0"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
deleted file mode 100644
index 53e949a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="PR1GHFPFY Plugin Test"
-  id="PR1GHFPFYPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testa"/>
-     <import plugin="testb" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
deleted file mode 100644
index 472b689..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test A"
-  id="testa"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
deleted file mode 100644
index 58f769f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test B"
-  id="testb"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
deleted file mode 100644
index 93fff08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test C"
-  id="testc"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
deleted file mode 100644
index c1016e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test D"
-  id="testd"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
deleted file mode 100644
index 6d06e7b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1GHH81D: ITPCORE:WIN2000 - Multiple versions of fragments not handled properly
-
-PRODUCT VERSION:
-0.9
-
-DESCRIPTION:
-If you have muliple fragments with the same id but each with a different version number, we will
-non-deterministically pick one of these fragments to augment the related plugin.
-
-NOTES:
-
-=======================================
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
deleted file mode 100644
index b1cf67d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHH81D Fragment Test"
-  id="PR1GHH81DFragmentTest"
-  plugin-id="PR1GHH81DPluginTest"
-  version="1.2"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib4.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
deleted file mode 100644
index 7a200e4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHH81D Fragment Test"
-  id="PR1GHH81DFragmentTest"
-  plugin-id="PR1GHH81DPluginTest"
-  version="1.8"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib5.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib6.jar"/>
-     <library name="lib7.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
deleted file mode 100644
index 9e8b5f8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="PR1GHH81D Fragment Test"
-  id="PR1GHH81DFragmentTest"
-  plugin-id="PR1GHH81DPluginTest"
-  version="1.0"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib8.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
deleted file mode 100644
index d92a2d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="PR1GHH81D Plugin Test"
-  id="PR1GHH81DPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
deleted file mode 100644
index 025be0b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
-  name="Bad Component 1 Attributes Test"
-  id="badComponent1AttributesTest"
-  version="1.2"
-  vendor-name="OTI"
-  a-bad-attribute="nothing">
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
deleted file mode 100644
index 181f1c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
-  name="Bad Component 2 Attributes Test"
-  id="badComponent2AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <plugin
-      name="A component plugin"
-      id="aComponentPlugin"
-      version="0.1"
-      vendor-name="OTI">
-  </plugin>
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
deleted file mode 100644
index dcb9b5c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
-  name="Bad Component 3 Attributes Test"
-  id="badComponent3AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <fragment
-      name="A component fragment"
-      id="aComponentFragment"
-      version="0.1"
-      vendor-name="OTI">
-  </fragment>
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
deleted file mode 100644
index dc90459..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration
-  name="Bad ConfigurationAttributes Test"
-  id="badConfigurationAttributesTest"
-  version="1.2"
-  vendor-name="OTI"
-  a-bad-attribute="nothing">
-
-</configuration>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
deleted file mode 100644
index ef14f56..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Extension Attributes Test"
-  id="badExtensionAttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension point="xpt1" id="ext1" hello="world" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
deleted file mode 100644
index 6a9268f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Extension Point Attributes Test"
-  id="badExtensionPointAttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point" bogusAttribute="nothing" schema="pde\xpt1.xml"/>
-  <extension-point id="xpt2" somethingElse="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
deleted file mode 100644
index fde9b7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Extension Point Elements Test"
-  id="badExtensionPointElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml">
-    <nameless name="noname"/>
-  </extension-point>
-  <extension-point id="xpt2" somethingElse="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
deleted file mode 100644
index 686207c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Bad Fragment 1 Attributes Test"
-  id="badFragment1AttributesTest"
-  version="1.2"
-  vendor-name="OTI"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1"
-  a-bad-attribute="nothing">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
deleted file mode 100644
index 7af2f05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Bad Fragment 2 Attributes Test"
-  id="badFragment2AttributesTest"
-  version="1.2"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1"
-  match="nothing">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
deleted file mode 100644
index 110dfe0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Bad Fragment Plugin Version Test"
-  id="BadFragmentPluginVersionTest"
-  version="1.2.0"
-  plugin-id="aPlugin"
-  plugin-version="1.1.bad">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
deleted file mode 100644
index a682ca1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Bad Fragment Version Test"
-  id="BadFragmentVersionTest"
-  version="1.2.bad"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
deleted file mode 100644
index ec9d274..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Fragments Plugin Test"
-  id="badFragmentsPluginTest"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
deleted file mode 100644
index 1c4c941..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-   name="Bug Fragment"
-   id="badFragmentsTest"
-   version="1.0.0"
-   plugin-id="org.eclipse.not.there"
-   plugin-version="1.0.0">
-   <runtime>
-      <library name="bug.jar"/>
-   </runtime>
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
deleted file mode 100644
index c823add..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Library 1 Attributes Test"
-  id="badLibrary1AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar" badAttribute="rudeness">
-        <export name="a"/>
-        <export name="*"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
deleted file mode 100644
index 752d348..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Library 1 Elements Test"
-  id="badLibrary1ElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <notAnExport name="a"/>
-        <export name="*"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
deleted file mode 100644
index 605ba06..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Library 2 Attributes Test"
-  id="badLibrary2AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="a"/>
-        <export badExportAttribute="nothing"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
deleted file mode 100644
index 6fb4124..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Library 2 Elements Test"
-  id="badLibrary2ElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="a">
-          <badElement name="noname"/>
-        </export>
-        <export name="*"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
deleted file mode 100644
index 84153b9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Library 3 Attributes Test"
-  id="badLibrary3AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar" type="source"/>
-     <library name="lib2.jar">
-        <export name="a"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
deleted file mode 100644
index cc9fadc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Attributes Test"
-  id="badPluginAttributesTest"
-  version="1.2"
-  vendor-name="OTI"
-  a-bad-attribute="nothing">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
deleted file mode 100644
index 805ebc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Elements Test"
-  id="badPluginElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <somethingBad>
-  </somethingBad>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
deleted file mode 100644
index 3f4c5db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Version 2 Test"
-  id="BadPluginVersion2Test"
-  version="1.bad.0"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
deleted file mode 100644
index 4e7a922..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Version 3 Test"
-  id="BadPluginVersion3Test"
-  version="..."
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
deleted file mode 100644
index b0b01c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Version 4 Test"
-  id="BadPluginVersion4Test"
-  version="one"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
deleted file mode 100644
index 3c9d4f8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Version 5 Test"
-  id="BadPluginVersion5Test"
-  version="1.2.3.4.5"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
deleted file mode 100644
index 9bd1210..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Plugin Version Test"
-  id="BadPluginVersionTest"
-  version="1.2.bad"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
deleted file mode 100644
index 5d40f9f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Requires Elements Test"
-  id="badRequiresElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite"/>
-     <notAnImport plugin="badPrerequisite"/>
-     <import plugin="fourthPrerequisite"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
deleted file mode 100644
index 3efefc7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Requires Import 1 Attributes Test"
-  id="badRequiresImport1AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite"/>
-     <import plugin="fourthPrerequisite" badImportAttr="notGood"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
deleted file mode 100644
index 70d4683..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Requires Import 2 Attributes Test"
-  id="badRequiresImport2AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite"/>
-     <import plugin="fifthPrerequisite" export="notTrue"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
deleted file mode 100644
index 65cf8b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Requires Import 3 Attributes Test"
-  id="badRequiresImport3AttributesTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite"/>
-     <import plugin="sixthPrerequisite" version="6.9.10" match="incompatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
deleted file mode 100644
index ec577a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Requires Import Elements Test"
-  id="badRequiresImportElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite">
-       <unrecognizedElement name="noname"/>
-     </import>
-     <import plugin="fourthPrerequisite"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
deleted file mode 100644
index 935e4bf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Bad Runtime Elements Test"
-  id="badRuntimeElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="*"/>
-        <export name="b"/>
-     </library>
-     <notALibrary/>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
deleted file mode 100644
index c12c7d4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notAPlugin
-  name="Bad Top Level Elements Test"
-  id="badTopLevelElementsTest"
-  version="1.2"
-  vendor-name="OTI">
-</notAPlugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
deleted file mode 100644
index 3515b54..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Blank Fragment Id Test"
-  id=""
-  version="1.2"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
deleted file mode 100644
index b9385f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name=""
-  id="BlankFragmentNameTest"
-  version="1.2"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
deleted file mode 100644
index 9ba5493..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Blank Fragment Plugin Id Test"
-  id="BlankFragmentPluginIdTest"
-  version="1.2.0"
-  plugin-id=""
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
deleted file mode 100644
index 3f5f2fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Blank Fragment Plugin Version Test"
-  id="BlankFragmentPluginVersionTest"
-  version="1.2.0"
-  plugin-id="aPlugin"
-  plugin-version="">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
deleted file mode 100644
index 60c2f88..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Blank Fragment Version Test"
-  id="BlankFragmentVersionTest"
-  version=""
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
deleted file mode 100644
index 3a9ba48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Blank Plugin Id Test"
-  id=""
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
deleted file mode 100644
index 5be0733..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name=""
-  id="BlankPluginNameTest"
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
deleted file mode 100644
index 91c32da..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Blank Plugin Version Test"
-  id="BlankPluginVersionTest"
-  version=""
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
deleted file mode 100644
index 9666fbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Duplicate Plugin Test"
-  id="duplicatePluginTest"
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
deleted file mode 100644
index 9666fbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Duplicate Plugin Test"
-  id="duplicatePluginTest"
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
deleted file mode 100644
index 543537d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-   name="Fragment 10799"
-   id="fragment10799"
-   version="1.0.0"
-   plugin-id="badFragmentsPluginTest"
-   plugin-version="1.2.0">
-
-  <requires>
-    <import plugin="org.apache.something.which.does.not.exist"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
deleted file mode 100644
index 86f6199..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="No Fragment Id Test"
-  version="1.2"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
deleted file mode 100644
index 6a809c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  id="NoFragmentNameTest"
-  version="1.2"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
deleted file mode 100644
index 4a5ac0a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="No Fragment Plugin Id Test"
-  id="NoFragmentPluginIdTest"
-  version="1.2.0"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
deleted file mode 100644
index 8cfbf92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="No Fragment Plugin Version Test"
-  id="NoFragmentPluginVersionTest"
-  version="1.2.0"
-  plugin-id="aPlugin">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
deleted file mode 100644
index 9db72ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="No Fragment Version Test"
-  id="NoFragmentVersionTest"
-  plugin-id="aPlugin"
-  plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
deleted file mode 100644
index 136cbb4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="No Plugin Id Test"
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
deleted file mode 100644
index 7151477..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  id="NoPluginNameTest"
-  version="1.2"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
deleted file mode 100644
index 8bfdcaa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="No Plugin Version Test"
-  id="NoPluginVersionTest"
-  provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
deleted file mode 100644
index 726293a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
deleted file mode 100644
index f1d3bc0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.a"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
deleted file mode 100644
index 2502f47..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.top"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.a"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index d78b063..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 21aeac9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-     <import plugin="tests.d" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index d78b063..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 1475e20..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.f" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 2dc8e44..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.f"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.0.0"/>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.f" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 3e40463..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.f"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.f" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 7a3a0ca..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.f"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.0.0" optional="true"/>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.f" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 9ba1f6d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.f"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0" optional="true"/>
-     <import plugin="tests.d" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.f" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 66c7c7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.f"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-     <import plugin="tests.d" version="2.0.0" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
deleted file mode 100644
index c59841b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension 1 Test"
-  id="extension1Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension id="xpt1" name="First extension" point="firstPoint"/>
-  <extension id="xpt2" name="Second extension" point="secondPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
deleted file mode 100644
index f33a0cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension 2 Test"
-  id="extension2Test"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
deleted file mode 100644
index 060dfaa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension 3 Test"
-  id="extension3Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension id="xpt1" name="First extension" point="firstPoint"/>
-  <extension id="xpt2" name="Second extension" point="secondPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
deleted file mode 100644
index 6ebbd63..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension 4 Test"
-  id="extension4Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension id="xpt1" name="First extension" point="firstPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
deleted file mode 100644
index 0550c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension5 Test"
-  id="extension5Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension id="xpt1" name="First extension" point="firstPoint"/>
-  <extension id="xpt2" name="Second extension" point="secondPoint"/>
-  <extension id="xpt4" name="Fourth extension" point="fourthPoint"/>
-  <extension id="xpt6" name="Sixth extension" point="sixthPoint"/>
-  <extension id="xpt8" name="Eighth extension" point="eighthPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
deleted file mode 100644
index 58033bd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension Point 1 Test"
-  id="extensionPoint1Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
-  <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
deleted file mode 100644
index 5205e83..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension Point 2 Test"
-  id="extensionPoint2Test"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
deleted file mode 100644
index 3b3bd69..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension Point 3 Test"
-  id="extensionPoint3Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension" schema="pde\xpt1.xml"/>
-  <extension-point id="xpt2" name="Second extension"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
deleted file mode 100644
index 1807896..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension Point 4 Test"
-  id="extensionPoint4Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
deleted file mode 100644
index 7c8a9f4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Extension Point 5 Test"
-  id="extensionPoint5Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
-  <extension-point id="xpt2" name="Second extension point"/>
-  <extension-point id="xpt4" name="Fourth extension point"/>
-  <extension-point id="xpt6" name="Sixth extension point"/>
-  <extension-point id="xpt8" name="Eighth extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
deleted file mode 100644
index 5f49bd1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension 1 Test"
-  id="fragmentExtension1Test"
-  version="1.0"
-  plugin-id="extension1Test"
-  plugin-version="1.2">
-
-  <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
deleted file mode 100644
index 05ef691..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension 2 Test"
-  id="fragmentExtension2Test"
-  version="1.0"
-  plugin-id="extension2Test"
-  plugin-version="1.2">
-
-  <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
deleted file mode 100644
index 5ffff30..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension 3 Test"
-  id="fragmentExtension3Test"
-  version="1.0"
-  plugin-id="extension3Test"
-  plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
deleted file mode 100644
index 26db7aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension 4 Test"
-  id="fragmentExtension4Test"
-  version="1.0"
-  plugin-id="extension4Test"
-  plugin-version="1.2">
-
-  <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
deleted file mode 100644
index ca6456a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension 5 Test"
-  id="fragmentExtension5Test"
-  version="1.0"
-  plugin-id="extension5Test"
-  plugin-version="1.2">
-
-  <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-  <extension id="xpt5" name="Fifth extension " point="fifthPoint"/>
-  <extension id="xpt7" name="Seventh extension" point="seventhPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
deleted file mode 100644
index a6fbd0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension Point 1 Test"
-  id="fragmentExtensionPoint1Test"
-  version="1.0"
-  plugin-id="extensionPoint1Test"
-  plugin-version="1.2">
-
-  <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
deleted file mode 100644
index 2faca4f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension Point 2 Test"
-  id="fragmentExtensionPoint2Test"
-  version="1.0"
-  plugin-id="extensionPoint2Test"
-  plugin-version="1.2">
-
-  <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
deleted file mode 100644
index e017200..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension Point 3 Test"
-  id="fragmentExtensionPoint3Test"
-  version="1.0"
-  plugin-id="extensionPoint3Test"
-  plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
deleted file mode 100644
index f0652a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension Point 4 Test"
-  id="fragmentExtensionPoint4Test"
-  version="1.0"
-  plugin-id="extensionPoint4Test"
-  plugin-version="1.2">
-
-  <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
deleted file mode 100644
index fab5155..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Extension Point 5 Test"
-  id="fragmentExtensionPoint5Test"
-  version="1.0"
-  plugin-id="extensionPoint5Test"
-  plugin-version="1.2">
-
-  <extension-point id="xpt3" name="Third extension point"/>
-  <extension-point id="xpt5" name="Fifth extension point"/>
-  <extension-point id="xpt7" name="Seventh extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
deleted file mode 100644
index 851b253..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Library 1 Test"
-  id="fragmentLibrary1Test"
-  version="1.0"
-  plugin-id="library1Test"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib3.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
deleted file mode 100644
index 75fc8a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Library 2 Test"
-  id="fragmentLibrary2Test"
-  version="1.0"
-  plugin-id="library2Test"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib3.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
deleted file mode 100644
index 3266163..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Library 3 Test"
-  id="fragmentLibrary3Test"
-  version="1.0"
-  plugin-id="library3Test"
-  plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
deleted file mode 100644
index 0ecc6a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Library 4 Test"
-  id="fragmentLibrary4Test"
-  version="1.0"
-  plugin-id="library4Test"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib3.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
deleted file mode 100644
index 50be84d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Library 5 Test"
-  id="fragmentLibrary5Test"
-  version="1.0"
-  plugin-id="library5Test"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib3.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib7.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
deleted file mode 100644
index 391375c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Requires 1 Test"
-  id="fragmentRequires1Test"
-  version="1.0"
-  plugin-id="requires1Test"
-  plugin-version="1.2">
-
-  <requires>
-     <import plugin="plugin3"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
deleted file mode 100644
index abe986a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Requires 2 Test"
-  id="fragmentRequires2Test"
-  version="1.0"
-  plugin-id="requires2Test"
-  plugin-version="1.2">
-
-  <requires>
-     <import plugin="plugin3"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
deleted file mode 100644
index a87390a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Requires 3 Test"
-  id="fragmentRequires3Test"
-  version="1.0"
-  plugin-id="requires3Test"
-  plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
deleted file mode 100644
index ad63094..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Requires 4 Test"
-  id="fragmentRequires4Test"
-  version="1.0"
-  plugin-id="requires4Test"
-  plugin-version="1.2">
-
-  <requires>
-     <import plugin="plugin3"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
deleted file mode 100644
index 18df74a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Requires 5 Test"
-  id="fragmentRequires5Test"
-  version="1.0"
-  plugin-id="requires5Test"
-  plugin-version="1.2">
-
-  <requires>
-     <import plugin="plugin3"/>
-     <import plugin="plugin5"/>
-     <import plugin="plugin7"/>
-  </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
deleted file mode 100644
index 0161534..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Library 1 Test"
-  id="library1Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
deleted file mode 100644
index 370cccd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Library 2 Test"
-  id="library2Test"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
deleted file mode 100644
index 0d9b4a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Library 3 Test"
-  id="library3Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
deleted file mode 100644
index 8f7e4b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Library 4 Test"
-  id="library4Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
deleted file mode 100644
index 30210ce..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Library 5 Test"
-  id="library5Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib6.jar"/>
-     <library name="lib8.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
deleted file mode 100644
index ce69681..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 1"
-  id="plugin1"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
deleted file mode 100644
index f02d315..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 2"
-  id="plugin2"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
deleted file mode 100644
index c4157aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 3"
-  id="plugin3"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
deleted file mode 100644
index 247c642..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 4"
-  id="plugin4"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
deleted file mode 100644
index ae3c4ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 5"
-  id="plugin5"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
deleted file mode 100644
index 24827d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 6"
-  id="plugin6"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
deleted file mode 100644
index f71d72d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 7"
-  id="plugin7"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
deleted file mode 100644
index 42a41c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin 8"
-  id="plugin8"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
deleted file mode 100644
index 6efacb6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Requires 1 Test"
-  id="requires1Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="plugin1"/>
-     <import plugin="plugin2"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
deleted file mode 100644
index 61bbfcd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Requires 2 Test"
-  id="requires2Test"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
deleted file mode 100644
index ca524d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Requires 3 Test"
-  id="requires3Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="plugin1"/>
-     <import plugin="plugin2"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
deleted file mode 100644
index 3286127..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Requires 4 Test"
-  id="requires4Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="plugin1"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
deleted file mode 100644
index c7ebbfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Requires 5 Test"
-  id="requires5Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="plugin1"/>
-     <import plugin="plugin2"/>
-     <import plugin="plugin4"/>
-     <import plugin="plugin6"/>
-     <import plugin="plugin8"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
deleted file mode 100644
index 6f7aaf2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Empty Library Test"
-  id="emptyLibraryTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library />
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
deleted file mode 100644
index d4eeade..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Multi Library Multi Export Test"
-  id="multiLibraryMultiExportTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="a"/>
-        <export name="*"/>
-        <export name="b"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-        <export name="a.b.D"/>
-     </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
deleted file mode 100644
index 42382c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Multi Library One Export Test"
-  id="multiLibraryOneExportTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="*"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-     </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
deleted file mode 100644
index 45b5d08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="No Library Test"
-  id="noLibraryTest"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
deleted file mode 100644
index 2b07ee8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="One Library One Export 1Test"
-  id="oneLibraryOneExport1Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib2.jar">
-        <export name="*"/>
-     </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
deleted file mode 100644
index c59e9f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="One Library One Export 2 Test"
-  id="oneLibraryOneExport2Test"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib2.jar">
-        <export name="abc"/>
-     </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
deleted file mode 100644
index fe18906..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="One Library Test"
-  id="oneLibraryTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
deleted file mode 100644
index 29de037..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Empty Requires Test"
-  id="emptyRequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
deleted file mode 100644
index 596cfbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Export 1 Requires Test"
-  id="export1RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
deleted file mode 100644
index 05e5378..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Export 2 Requires Test"
-  id="export2RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="tests.b" export="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
deleted file mode 100644
index 57a7bce..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Export 3 Requires Test"
-  id="export3RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b" export="false"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
deleted file mode 100644
index 6b9cfba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Export 4 Requires Test"
-  id="export4RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.a" export="true"/>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" export="false"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
deleted file mode 100644
index 9acc799..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 1 Requires Test"
-  id="match1RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
deleted file mode 100644
index 4b126c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 2 Requires Test"
-  id="match2RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="tests.b" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
deleted file mode 100644
index 641162c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 3 Requires Test"
-  id="match3RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b" match="equivalent"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
deleted file mode 100644
index 88c07e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 4 Requires Test"
-  id="match4RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.c" match="perfect"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
deleted file mode 100644
index e516bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 5 Requires Test"
-  id="match5RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.c" match="greaterOrEqual"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
deleted file mode 100644
index bef8be7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Match 6 Requires Test"
-  id="match6RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.a"/>
-     <import plugin="tests.b" match="greaterOrEqual"/>
-     <import plugin="tests.c" match="compatible"/>
-     <import plugin="tests.c" match="equivalent"/>
-     <import plugin="tests.c" match="perfect"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
deleted file mode 100644
index 95e34c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Multi Requires Test"
-  id="multiRequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="firstPrerequisite"/>
-     <import plugin="secondPrerequisite" version="1.0.0"/>
-     <import plugin="thirdPrerequisite"/>
-     <import plugin="fourthPrerequisite"/>
-     <import plugin="fifthPrerequisite"/>
-     <import plugin="sixthPrerequisite" version="6.9.10"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
deleted file mode 100644
index 09da86a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="No Requires Test"
-  id="noRequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
deleted file mode 100644
index ced0aa9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="One Requires Test"
-  id="oneRequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
deleted file mode 100644
index 07fa43b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Optional 1 Requires Test"
-  id="optional1RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
deleted file mode 100644
index 89a014f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Optional 2 Requires Test"
-  id="optional2RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
deleted file mode 100644
index 4200c12..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Optional 3 Requires Test"
-  id="optional3RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.b" optional="false"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
deleted file mode 100644
index 4d9daea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Optional 4 Requires Test"
-  id="optional4RequiresTest"
-  version="1.2"
-  vendor-name="OTI">
-  <requires>
-     <import plugin="tests.a" optional="true"/>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" optional="false"/>
-  </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
deleted file mode 100644
index 674f6e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
deleted file mode 100644
index 172403d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
deleted file mode 100644
index 2032855..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
deleted file mode 100644
index 81b22df..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.0">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
deleted file mode 100644
index 675b4f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.1">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
deleted file mode 100644
index 0d62ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
deleted file mode 100644
index 6b4aad6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.8">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
deleted file mode 100644
index d0fbf95..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
deleted file mode 100644
index 3c4f7e9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.6"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
deleted file mode 100644
index c8aaf35..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="5.9.8" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
deleted file mode 100644
index 20dc058..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.3" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
deleted file mode 100644
index cce7bd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
deleted file mode 100644
index 0e9316f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.0.0" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
deleted file mode 100644
index 888fd54..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.4" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
deleted file mode 100644
index 7b7f35b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.6.2" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
deleted file mode 100644
index 59a3201..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.5.8" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
deleted file mode 100644
index caa31a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.4.2" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
deleted file mode 100644
index b7afcfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.5.1" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
deleted file mode 100644
index 92b034c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.8"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
deleted file mode 100644
index 43cc24a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
deleted file mode 100644
index 97e8cb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
deleted file mode 100644
index 0c32796..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="3.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
deleted file mode 100644
index c528461..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="4.5.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
deleted file mode 100644
index 4dbdb48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
deleted file mode 100644
index 54d1783..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.0.1"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin One"
-  id="pluginOne"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
deleted file mode 100644
index 4dbdb48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
deleted file mode 100644
index 54d1783..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.0.1"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
deleted file mode 100644
index 81c5158..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.0.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
deleted file mode 100644
index 93f98c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.1.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
deleted file mode 100644
index f2d9044..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.7.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
deleted file mode 100644
index f9785fb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.2.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
deleted file mode 100644
index 9bb0b05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.4.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-     <library name="lib7.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
deleted file mode 100644
index 36e637d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.5.1"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-     <library name="lib7.jar"/>
-     <library name="lib8.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin One"
-  id="pluginOne"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
deleted file mode 100644
index 4e1112a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.9.9"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
deleted file mode 100644
index 346727f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="2.3.5"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
deleted file mode 100644
index 3d57b34..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="3.0.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
deleted file mode 100644
index f60a337..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="2.3.5"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
deleted file mode 100644
index cfea91c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="2.5"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-     <library name="lib23.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
deleted file mode 100644
index 852c238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="1.1.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-     <library name="lib23.jar"/>
-     <library name="lib24.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
deleted file mode 100644
index e6a4152..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="1.7.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-     <library name="lib23.jar"/>
-     <library name="lib24.jar"/>
-     <library name="lib25.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
deleted file mode 100644
index 68da0ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="2.9.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-     <library name="lib23.jar"/>
-     <library name="lib24.jar"/>
-     <library name="lib25.jar"/>
-     <library name="lib26.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
deleted file mode 100644
index f81a091..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Two"
-  id="fragmentTwo"
-  version="1.4.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib21.jar"/>
-     <library name="lib22.jar"/>
-     <library name="lib23.jar"/>
-     <library name="lib24.jar"/>
-     <library name="lib25.jar"/>
-     <library name="lib26.jar"/>
-     <library name="lib27.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
deleted file mode 100644
index 619445f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="4.5"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
deleted file mode 100644
index 93f98c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.1.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
deleted file mode 100644
index 0a65e1c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="2.7.2"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
deleted file mode 100644
index d41a851..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.9.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
deleted file mode 100644
index 4587b01..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="3.4.0"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-     <library name="lib7.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
deleted file mode 100644
index 36e637d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment One"
-  id="fragmentOne"
-  version="1.5.1"
-  plugin-id="pluginOne"
-  plugin-version="1.2.5">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar"/>
-     <library name="lib3.jar"/>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar"/>
-     <library name="lib6.jar"/>
-     <library name="lib7.jar"/>
-     <library name="lib8.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin One"
-  id="pluginOne"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
deleted file mode 100644
index 53b8fba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.3">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
deleted file mode 100644
index 7c28ebc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
deleted file mode 100644
index 94727f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.1.1">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
deleted file mode 100644
index 87caa3f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.5.0">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
deleted file mode 100644
index 0d62ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
deleted file mode 100644
index c852105..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
deleted file mode 100644
index ce57d92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.4.0">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
deleted file mode 100644
index 9f5741d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
deleted file mode 100644
index 8882863..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
deleted file mode 100644
index 568b52c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
deleted file mode 100644
index bc9b794..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
deleted file mode 100644
index d862a4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
deleted file mode 100644
index 1487052..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.2" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
deleted file mode 100644
index 29b915b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
deleted file mode 100644
index d343ad1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
deleted file mode 100644
index 0e36c02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
deleted file mode 100644
index 73ddfdc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.5.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
deleted file mode 100644
index e9bbf5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.5.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
deleted file mode 100644
index 7025238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
deleted file mode 100644
index b71cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
deleted file mode 100644
index fe7cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
deleted file mode 100644
index d862a4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
deleted file mode 100644
index 1487052..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.2" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
deleted file mode 100644
index 29b915b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
deleted file mode 100644
index d343ad1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
deleted file mode 100644
index 0e36c02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
deleted file mode 100644
index 73ddfdc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.5.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
deleted file mode 100644
index e9bbf5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.5.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
deleted file mode 100644
index 7025238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
deleted file mode 100644
index b71cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.1" match="perfect">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
deleted file mode 100644
index fe7cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
deleted file mode 100644
index cd3271f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
deleted file mode 100644
index 8360cc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.7"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
deleted file mode 100644
index fc511f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="3.0.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
deleted file mode 100644
index 2d9d893..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="0.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
deleted file mode 100644
index fbcd03f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.2" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
deleted file mode 100644
index de697ff..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
deleted file mode 100644
index b03f827..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.5" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
deleted file mode 100644
index ca52259..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.4" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
deleted file mode 100644
index 781c12c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.7" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
deleted file mode 100644
index 6e4cc3a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.5" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
deleted file mode 100644
index 36c09fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.8" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
deleted file mode 100644
index 3131a96..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.2" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
deleted file mode 100644
index 25fed6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.0" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
deleted file mode 100644
index 0504fc6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.5" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
deleted file mode 100644
index a9380f5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.0" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
deleted file mode 100644
index 533d770..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.5" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
deleted file mode 100644
index 5730093..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="5.9.8" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
deleted file mode 100644
index 154160e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.3" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
deleted file mode 100644
index 8a97b91..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
deleted file mode 100644
index bf607bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.0.0" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
deleted file mode 100644
index cf652a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.4" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
deleted file mode 100644
index 9f152b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.6.2" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
deleted file mode 100644
index da66f16..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.5.8" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
deleted file mode 100644
index 13bf9bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.4.2" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
deleted file mode 100644
index b7afcfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="4.5.1" match="equivalent">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
deleted file mode 100644
index 92b034c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.8"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
deleted file mode 100644
index 43cc24a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
deleted file mode 100644
index 97e8cb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
deleted file mode 100644
index 0c32796..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="3.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
deleted file mode 100644
index c528461..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="4.5.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
deleted file mode 100644
index a4b7888..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
deleted file mode 100644
index 30196b4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
deleted file mode 100644
index f2dbf64..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
deleted file mode 100644
index 2403f53..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.0" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
deleted file mode 100644
index bc0e666..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.1" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
deleted file mode 100644
index 439e209..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
deleted file mode 100644
index df9da1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.8" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
deleted file mode 100644
index d0fbf95..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
deleted file mode 100644
index 3c4f7e9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.6"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
deleted file mode 100644
index b8bfdf5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.3" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
deleted file mode 100644
index 91e851b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
deleted file mode 100644
index a94f807..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.1.1" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
deleted file mode 100644
index 089c2a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.5.0" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
deleted file mode 100644
index 439e209..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.4" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
deleted file mode 100644
index e810b11..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
deleted file mode 100644
index 8e1bc73..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="2.4.0" match="compatible">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
deleted file mode 100644
index 9f5741d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
deleted file mode 100644
index 8882863..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
deleted file mode 100644
index 568b52c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
deleted file mode 100644
index bc9b794..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
deleted file mode 100644
index 01fd4f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.2" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
deleted file mode 100644
index c1990e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.0.0" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
deleted file mode 100644
index e19e857..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.5" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
deleted file mode 100644
index a3e2f8a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="3.2.4" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
deleted file mode 100644
index a6cbe86..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.7" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
deleted file mode 100644
index d393397..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.5" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
deleted file mode 100644
index ac51121..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.8" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
deleted file mode 100644
index f06f169..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.2" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
deleted file mode 100644
index 0e2984e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.2.0" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
deleted file mode 100644
index 0d9124b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.5" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
deleted file mode 100644
index eca71ad..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.1.0" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
deleted file mode 100644
index 849b2f5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Test"
-  id="fragmentTest"
-  version="1.0"
-  plugin-id="tests.a"
-  plugin-version="1.3.5" match="greaterOrEqual">
-
-  <runtime>
-     <library name="lib1.jar"/>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
deleted file mode 100644
index cdbea99..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Number of Requires Test"
-  id="reqTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-  <requires>
-     <import plugin="tests.a"/>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
deleted file mode 100644
index fc36056..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Number of Runtime Test"
-  id="runtimeTest"
-  version="1.2"
-  vendor-name="OTI">
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="*"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-     </library>
-  </runtime>
-
-  <runtime>
-     <library name="lib4.jar"/>
-     <library name="lib5.jar">
-        <export name="*"/>
-     </library>
-     <library name="lib6.jar">
-        <export name="a.b.C"/>
-     </library>
-     <library name="lib7.jar"/>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
deleted file mode 100644
index 8e33d5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 1 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testc"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
deleted file mode 100644
index 9dfc1e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 1 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
deleted file mode 100644
index fa44d25..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 1 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
deleted file mode 100644
index 278c60f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 1 D"
-  id="testd"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
deleted file mode 100644
index 19dcdf8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 1 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
deleted file mode 100644
index 70aa8cc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testc"/>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
deleted file mode 100644
index f83e93c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-     <import plugin="testf"/>
-     <import plugin="testg"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
deleted file mode 100644
index 13265e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testh"/>
-     <import plugin="testi"/>
-     <import plugin="testj"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
deleted file mode 100644
index a0ae39d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 D"
-  id="testd"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testk"/>
-     <import plugin="testl"/>
-     <import plugin="testm"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
deleted file mode 100644
index 5054c41..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
deleted file mode 100644
index 9153a08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 F"
-  id="testf"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
deleted file mode 100644
index c61fd06..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 G"
-  id="testg"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
deleted file mode 100644
index dcecdb6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 H"
-  id="testh"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
deleted file mode 100644
index 8aa8b5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 I"
-  id="testi"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
deleted file mode 100644
index b86d81c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 J"
-  id="testj"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
deleted file mode 100644
index af61735..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 K"
-  id="testk"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
deleted file mode 100644
index 085d144..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 L"
-  id="testl"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
deleted file mode 100644
index cc0e18c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 2 M"
-  id="testm"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
deleted file mode 100644
index bfcf523..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testc"/>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
deleted file mode 100644
index c362676..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 A2"
-  id="testa2"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
deleted file mode 100644
index 587e26e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-     <import plugin="testf"/>
-     <import plugin="testg"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
deleted file mode 100644
index b7303a5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testh"/>
-     <import plugin="testi"/>
-     <import plugin="testj"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
deleted file mode 100644
index 746564d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 D"
-  id="testd"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
deleted file mode 100644
index e973d80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
deleted file mode 100644
index b05267f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 F"
-  id="testf"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
deleted file mode 100644
index 781eaa3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 G"
-  id="testg"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
deleted file mode 100644
index e64b909..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 H"
-  id="testh"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
deleted file mode 100644
index 96b8228..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 I"
-  id="testi"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
deleted file mode 100644
index aebefb4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 3 J"
-  id="testj"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
deleted file mode 100644
index 4812cf4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 4 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testc"/>
-     <import plugin="testb"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
deleted file mode 100644
index 7a7ffb7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 4 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
deleted file mode 100644
index b41413f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 4 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
deleted file mode 100644
index 1c0b1ed..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 4 D"
-  id="testd"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
deleted file mode 100644
index 284041c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 4 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
deleted file mode 100644
index 2786ee4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testd"/>
-     <import plugin="testc"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
deleted file mode 100644
index 15bc6b8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-     <import plugin="testf"/>
-     <import plugin="testg"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
deleted file mode 100644
index 87eb44d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testh"/>
-     <import plugin="testj"/>
-     <import plugin="testi"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
deleted file mode 100644
index 9270c2a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 D"
-  id="testd"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testk"/>
-     <import plugin="testl"/>
-     <import plugin="testm"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
deleted file mode 100644
index 365c77f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
deleted file mode 100644
index 7f59a34..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 F"
-  id="testf"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
deleted file mode 100644
index a9145b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 G"
-  id="testg"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
deleted file mode 100644
index d14177a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 H"
-  id="testh"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
deleted file mode 100644
index e337b7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 I"
-  id="testi"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
deleted file mode 100644
index b68902a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 J"
-  id="testj"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
deleted file mode 100644
index 0e1ebde..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 K"
-  id="testk"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
deleted file mode 100644
index cc4c7cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 L"
-  id="testl"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
deleted file mode 100644
index 92ae02e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 5 M"
-  id="testm"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
deleted file mode 100644
index 465dfca..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 A"
-  id="testa"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testd"/>
-     <import plugin="testc"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
deleted file mode 100644
index c5b7509..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 A2"
-  id="testa2"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testb"/>
-     <import plugin="testd"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
deleted file mode 100644
index ad08f62..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 B"
-  id="testb"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="teste"/>
-     <import plugin="testf"/>
-     <import plugin="testg"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
deleted file mode 100644
index 379c0a2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 C"
-  id="testc"
-  version="1.0.0"
-  vendor-name="OTI">
-
-  <requires>
-     <import plugin="testh"/>
-     <import plugin="testj"/>
-     <import plugin="testi"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
deleted file mode 100644
index c4e6773..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 D"
-  id="testd"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
deleted file mode 100644
index 3db6774..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 E"
-  id="teste"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
deleted file mode 100644
index 2c2b5b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 F"
-  id="testf"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
deleted file mode 100644
index 4bea7af..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 G"
-  id="testg"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
deleted file mode 100644
index 9fc306b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 H"
-  id="testh"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
deleted file mode 100644
index 652fb94..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 I"
-  id="testi"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
deleted file mode 100644
index bb2d110..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Core Runtime Orphan Test 6 J"
-  id="testj"
-  version="1.0.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
deleted file mode 100644
index 16127c5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
+++ /dev/null
@@ -1 +0,0 @@
-test=file:c:/20020319/eclipse/plugins/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
deleted file mode 100644
index 692319e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="1.0"
-  class="org.eclipse.core.tests.internal.plugin.a.PluginClass"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="plugin.b"/>
- </requires>
-
-  <runtime>
-    <library name="plugin_a.jar">
-      <export name="org.eclipse.core.tests.internal.plugin.a.api.*"/>
-    </library>
-  </runtime>
-
-  <extension-point id="case" name="CaseExtPt"/>
-
-  <extension point="case" id="base">
-    <test run="org.eclipse.core.tests.internal.plugin.a.BaseExtension"/>
-  </extension>
-
-  <extension point="case" id="referencePlugin">
-    <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionDirectCompilerReferenceToPluginClass"/>
-  </extension>
-
-  <extension point="case" id="referenceOther">
-    <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionDirectCompilerReferenceToOtherClass"/>
-  </extension>
-
-  <extension point="case" id="lookupPlugin">
-    <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionIndirectReferenceToPlugin"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
deleted file mode 100644
index 64fed09..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
deleted file mode 100644
index 97f6df5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
deleted file mode 100644
index d57b074..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin B"
-  id="plugin.b"
-  version="1.0"
-  class="org.eclipse.core.tests.internal.plugin.b.PluginClass"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="plugin.c" export="true"/>
-    <import plugin="plugin.d"/>
-  </requires>
-
-  <runtime>
-    <library name="plugin_b.jar">
-      <export name="org.eclipse.core.tests.internal.plugin.b.api.*"/>
-      <export name="org.eclipse.core.tests.internal.plugin.b.PluginClass"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
deleted file mode 100644
index 68d5189..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
deleted file mode 100644
index 5fa9a4d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin C"
-  id="plugin.c"
-  version="1.0"
-  class="org.eclipse.core.tests.internal.plugin.c.PluginClass"
-  vendor-name="IBM">
-
-  <runtime>
-    <library name="plugin_c.jar">
-      <export name="org.eclipse.core.tests.internal.plugin.c.api.*"/>
-      <export name="org.eclipse.core.tests.internal.plugin.c.ExportedClass"/>
-      <export name="org.eclipse.core.tests.internal.plugins.TestClass"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
deleted file mode 100644
index 108414e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
deleted file mode 100644
index 8b2f1dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin D"
-  id="plugin.d"
-  version="1.0"
-  class="org.eclipse.core.tests.internal.plugin.d.PluginClass"
-  vendor-name="IBM">
-
-  <runtime>
-    <library name="plugin_d.jar">
-      <export name="org.eclipse.core.tests.internal.plugin.d.api.*"/>
-      <export name="org.eclipse.core.tests.internal.plugins.TestClass"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
deleted file mode 100644
index fb24038..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
deleted file mode 100644
index 38a30aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=resource.properties Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
deleted file mode 100644
index 0f1297e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.parser.1/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
deleted file mode 100644
index e4abe83..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="plugins.parser.1"
-  version="1.2"
-  class="com.ibm.eclipse.MyClass"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="plugins.parser.2" version="3.7" export="true"/>
-     <import plugin="plugins.parser.3"/>
-  </requires>
-
-  <runtime>
-     <library name="lib1.jar"/>
-     <library name="lib2.jar">
-        <export name="*"/>
-     </library>
-     <library name="lib3.jar">
-        <export name="a.b.C"/>
-     </library>
-  </runtime>
-
-  <extension-point id="xpt1" name="First extension point" schema="pde/xpt1.xml"/>
-  <extension-point id="xpt2" name="Second extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-  <extension point="plugins.parser.1.xpt1">
-     <config id="2"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
deleted file mode 100644
index aec78e2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="plugins.parser.2"
-  version="3.7.9"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
deleted file mode 100644
index ae389b7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="plugins.parser.3"
-  version="1.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
deleted file mode 100644
index 6347db6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.1/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
deleted file mode 100644
index 1943c23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.10/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0205bad..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.d"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
deleted file mode 100644
index 1092985..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
deleted file mode 100644
index ced5b43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.5"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.5" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.5" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
deleted file mode 100644
index b2e0e2d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.5" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
deleted file mode 100644
index b2e0e2d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.5" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
deleted file mode 100644
index 6ca139d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.1" match="perfect"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
deleted file mode 100644
index dbd23be..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
deleted file mode 100644
index 6ca139d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.1" match="perfect"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.1" match="equivalent"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.1" match="equivalent"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
deleted file mode 100644
index dbd23be..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.0.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
deleted file mode 100644
index 3a1b638..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.2/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index 3b209d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
deleted file mode 100644
index f551f66..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.1"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
deleted file mode 100644
index f0de7fc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.2"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index c4cfdc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.1"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.0.1" match="equivalent"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
deleted file mode 100644
index a4505fb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.3/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index ea9af8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="b" version="2.1.0" match="exact"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
deleted file mode 100644
index f551f66..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.1"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.2"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index e2a0490..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id=tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.1"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.4"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.2.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
deleted file mode 100644
index fa360bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.resolve.4/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index ba70412..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.0" match="exact"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.2"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index c4cfdc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="tests.d"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.1.1"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.e" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="1.2.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.e"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
deleted file mode 100644
index ab507fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.resolve.5/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
deleted file mode 100644
index 726293a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
deleted file mode 100644
index 00ac852..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
deleted file mode 100644
index abab4b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
deleted file mode 100644
index e8692e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
deleted file mode 100644
index b7bdbe2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.6/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
deleted file mode 100644
index fa2c0f1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.9"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index cb8300a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.5.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
deleted file mode 100644
index d380b61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.resolve.7/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
deleted file mode 100644
index fa2c0f1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.9"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index 57fac41..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id=tests.c"
-  version="2.5.0"
-  vendor-name="IBM">
-
-  <extension-point id="point1"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
deleted file mode 100644
index 570a4d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.resolve.8/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
deleted file mode 100644
index 8a00594..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="3.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.9"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index cb8300a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.5.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
deleted file mode 100644
index 6347db6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/

-test=file:d:/Plugin_Testing/plugins.resolve.1/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-     <import plugin="tests.c" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index b140ab0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.d" version="1.0.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
deleted file mode 100644
index ed4f080..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
deleted file mode 100644
index 3e60d07..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.version.1/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
deleted file mode 100644
index 6277eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
deleted file mode 100644
index 6277eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
deleted file mode 100644
index dc33914..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="1.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
deleted file mode 100644
index 9547280..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
deleted file mode 100644
index bcf9fdd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
deleted file mode 100644
index bcf9fdd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
deleted file mode 100644
index f7dcbbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="plugin.a"
-  version="2.0.15"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
deleted file mode 100644
index 443c560..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="next.1"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="plugin.a" version="1.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
deleted file mode 100644
index e0c9499..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="next.2"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="plugin.a" version="1.1.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
deleted file mode 100644
index fc0664c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests - Test Plugin A"
-  id="next.3"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="plugin.a" version="2.0.0" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
deleted file mode 100644
index 7315cd7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="plugin.root"
-  version="1.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="next.1"/>
-    <import plugin="next.2"/>
-    <import plugin="next.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
deleted file mode 100644
index e8c6a0c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000

-base=file:c:/eclipse/plugins/;

-test=file:d:/Plugin_Testing/plugins.version.2/

diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
deleted file mode 100644
index 622118f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
deleted file mode 100644
index c7acb07..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="a"
-  version="1.1.1"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="b"/>
-    <import plugin="d" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
deleted file mode 100644
index b9f41d8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="b" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
deleted file mode 100644
index 552a2f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="a"
-  version="2.0.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="b" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
deleted file mode 100644
index 22b79ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
deleted file mode 100644
index 4c92e78..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="b"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
deleted file mode 100644
index b0de87d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="d" version="1.2.0"/>
-    <import plugin="e" version="1.3.1" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
deleted file mode 100644
index ddae834..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="c"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="d" version="1.2.0"/>
-    <import plugin="e" version="1.3.1" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
deleted file mode 100644
index 27586d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="c"
-  version="1.3.0"
-  vendor-name="IBM">
-
-  <requires>
-    <import plugin="d" version="1.2.0"/>
-    <import plugin="e" version="1.3.1" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
deleted file mode 100644
index 6e9d0c2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="d"
-  version="1.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
deleted file mode 100644
index 3d2d617..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="d"
-  version="1.3.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
deleted file mode 100644
index a65d004..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="d"
-  version="2.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
deleted file mode 100644
index 36ca60d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="e"
-  version="1.3.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
deleted file mode 100644
index a6092e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="e"
-  version="1.3.2"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
deleted file mode 100644
index b9e7a33..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin"
-  id="e"
-  version="1.4.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0376309..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
deleted file mode 100644
index 8d62e24..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="pluginA"
-  id="tests.a"
-  version="1.0.0">
-  <requires>
-     <import plugin="tests.b" optional="true" version="2.0.0" match="perfect"/>
-     <import plugin="tests.c"/>     
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 5e84f38..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="pluginB"
-  id="tests.b"
-  version="1.0.0">
-  <requires>
-     <import plugin="tests.d"/>     
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
deleted file mode 100644
index 1d1d09f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="pluginC"
-  id="tests.c"
-  version="1.0.0">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
deleted file mode 100644
index 87f9198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="pluginD"
-  id="tests.d"
-  version="1.0.0">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0376309..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="exact"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3" match="compatible"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.5"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" version="2.1.3"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.3"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="3.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
deleted file mode 100644
index 9c60e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
deleted file mode 100644
index 3805dc1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 194b145..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-     <import plugin="tests.d" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 44acda9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
deleted file mode 100644
index 546e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
deleted file mode 100644
index 131f083..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
deleted file mode 100644
index 131f083..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
deleted file mode 100644
index 3592f6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" match="exact" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
deleted file mode 100644
index 3592f6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" match="exact" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
deleted file mode 100644
index 476920b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" match="compatible" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
deleted file mode 100644
index 6911006..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" match="compatible" version="1.2.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
deleted file mode 100644
index 9c60e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
deleted file mode 100644
index 44bed7e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c"/>
-     <import plugin="tests.b" optional="true"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
deleted file mode 100644
index 0bc585b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
deleted file mode 100644
index 0bc585b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true"/>
-     <import plugin="tests.c"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.1"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
deleted file mode 100644
index f75a19f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
deleted file mode 100644
index f75a19f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <extension-point id="xpt1" name="First extension point"/>
-
-  <extension point="xpt1" id="ext1" name="First extension">
-     <config id="1"/>
-  </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
deleted file mode 100644
index 3805dc1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.a"
-  version="1.2"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.b" optional="true" version="1.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 194b145..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="1.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="1.1.0"/>
-     <import plugin="tests.d" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.b"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.0.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="1.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.c"
-  version="2.1.0"
-  vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
deleted file mode 100644
index 546e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="IBM Tooling Platform Core Tests"
-  id="tests.d"
-  version="2.1.0"
-  vendor-name="IBM">
-
-  <requires>
-     <import plugin="tests.c" version="2.1.0"/>
-  </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
deleted file mode 100644
index 5b2d198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
deleted file mode 100644
index e878267..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test 3093 Plugin A"
-  id="test3093PluginA"
-  version="1.0"
-  vendor-name="OTI">
-
- <runtime>
-    <library name="$nl$/">
-      <export name="*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
deleted file mode 100644
index fdfb747..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Interesting Fragment Find Test"
-  id="interestingFragmentFindTest"
-  version="1.0.0"
-  plugin-id="interestingPluginFindTest"
-  plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
deleted file mode 100644
index 17c6dd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Interesting Plugin Find Test"
-  id="interestingPluginFindTest"
-  version="1.2.0"
-  vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
deleted file mode 100644
index 2f1bcd2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="NL Fragment Find Test"
-  id="nlFragmentFindTest"
-  version="1.0.0"
-  plugin-id="nlPluginFindTest"
-  plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
deleted file mode 100644
index 9577dd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="NL Plugin Find Test"
-  id="nlPluginFindTest"
-  version="1.2.0"
-  vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
deleted file mode 100644
index 2d18c36..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="OS Fragment Find Test"
-  id="osFragmentFindTest"
-  version="1.0.0"
-  plugin-id="osPluginFindTest"
-  plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
deleted file mode 100644
index 0953e23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="OS Plugin Find Test"
-  id="osPluginFindTest"
-  version="1.2.0"
-  vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
deleted file mode 100644
index af54504..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Root Fragment Find Test"
-  id="rootFragmentFindTest"
-  version="1.0.0"
-  plugin-id="rootPluginFindTest"
-  plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
deleted file mode 100644
index 0a37d5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Root Plugin Find Test"
-  id="rootPluginFindTest"
-  version="1.2.0"
-  vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
deleted file mode 100644
index d8aa9b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="WS Fragment Find Test"
-  id="wsFragmentFindTest"
-  version="1.0.0"
-  plugin-id="wsPluginFindTest"
-  plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
deleted file mode 100644
index 89d01a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="WS Plugin Find Test"
-  id="wsPluginFindTest"
-  version="1.2.0"
-  vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
deleted file mode 100644
index 9de9737..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
deleted file mode 100644
index 84093b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test D"
-  id="codeFragmentD"
-  version="1.0.0"
-  plugin-id="codePluginD"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginD.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
deleted file mode 100644
index f7fee80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
deleted file mode 100644
index 9e8f2a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test E"
-  id="codeFragmentE"
-  version="1.0.0"
-  plugin-id="codePluginE"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginE.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
deleted file mode 100644
index 7d834e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
deleted file mode 100644
index b8ed413..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
deleted file mode 100644
index e6f7e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test F"
-  id="codeFragmentF"
-  version="1.0.0"
-  plugin-id="codePluginF"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
deleted file mode 100644
index e8e8719..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
deleted file mode 100644
index 6b58234..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test G"
-  id="codeFragmentG"
-  version="1.0.0"
-  plugin-id="codePluginG"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginG.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
deleted file mode 100644
index 53c4bf0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
deleted file mode 100644
index 9771365..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test H"
-  id="codeFragmentH"
-  version="1.0.0"
-  plugin-id="codePluginH"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginH.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
deleted file mode 100644
index fbd6d84..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
deleted file mode 100644
index 8282c2f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test I"
-  id="codeFragmentI"
-  version="1.0.0"
-  plugin-id="codePluginI"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginI.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
deleted file mode 100644
index 72566f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
deleted file mode 100644
index 8ae5d56..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test J"
-  id="codeFragmentJ"
-  version="1.0.0"
-  plugin-id="codePluginJ"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginJ.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
deleted file mode 100644
index ce48356..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
deleted file mode 100644
index addcfa1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test K"
-  id="codeFragmentK"
-  version="1.0.0"
-  plugin-id="codePluginK"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginK.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
deleted file mode 100644
index f315f45..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
deleted file mode 100644
index 2d1e2a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test L"
-  id="codeFragmentL"
-  version="1.0.0"
-  plugin-id="codePluginL"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginL.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
deleted file mode 100644
index cc7a362..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
deleted file mode 100644
index 4a5a641..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
deleted file mode 100644
index ff2acbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test M"
-  id="codeFragmentM"
-  version="1.0.0"
-  plugin-id="codePluginM"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginM.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
deleted file mode 100644
index 915b41d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
deleted file mode 100644
index 393594f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
deleted file mode 100644
index b0ee879..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test N"
-  id="codeFragmentN"
-  version="1.0.0"
-  plugin-id="codePluginN"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginN.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
deleted file mode 100644
index 9bfc2fc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
deleted file mode 100644
index 713d0dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
deleted file mode 100644
index a6f6c0e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Code Fragment Test O"
-  id="codeFragmentO"
-  version="1.0.0"
-  plugin-id="codePluginO"
-  plugin-version="1.0">
-
- <runtime>
-    <library name="codePluginO.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
deleted file mode 100644
index 5b2d198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
deleted file mode 100644
index 3e4dee7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test A"
-  id="codePluginA"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleA">
-
- <runtime>
-    <library name="codePluginA.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
deleted file mode 100644
index 2f8b9db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
deleted file mode 100644
index a99f56a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test B"
-  id="codePluginB"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleB">
-
- <runtime>
-    <library name="codePluginB.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
deleted file mode 100644
index 4e94745..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
deleted file mode 100644
index 8c249ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
deleted file mode 100644
index 4f28589..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test C"
-  id="codePluginC"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleCPB">
-
- <runtime>
-    <library name="codePluginC.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
deleted file mode 100644
index 75af240..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test D"
-  id="codePluginD"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleD">
-
- <runtime>
-    <library name="codePluginD.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
deleted file mode 100644
index bfc1c10..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test E"
-  id="codePluginE"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleE">
-
- <runtime>
-    <library name="codePluginE.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
deleted file mode 100644
index c406092..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin Test F"
-  id="codePluginF"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleFFB">
-
- <runtime>
-    <library name="codePluginF.jar">
-      <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
-    </library>
-  </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
deleted file mode 100644
index c5017bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
deleted file mode 100644
index 5b8e54c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestG"
-  id="codePluginG"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleGPR">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
deleted file mode 100644
index 8f08968..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
deleted file mode 100644
index dd6f249..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestH"
-  id="codePluginH"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleHFB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
deleted file mode 100644
index 47dab6f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
deleted file mode 100644
index a7b140c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestI"
-  id="codePluginI"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleIPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
deleted file mode 100644
index f2b19de..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
deleted file mode 100644
index ac1f39e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestJ"
-  id="codePluginJ"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleJPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
deleted file mode 100644
index 4725fba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
deleted file mode 100644
index fe90bcf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
deleted file mode 100644
index de354a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestK"
-  id="codePluginK"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleKPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
deleted file mode 100644
index e363b33..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
deleted file mode 100644
index 243f6b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
deleted file mode 100644
index fe1413e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestL"
-  id="codePluginL"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleLPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
deleted file mode 100644
index b02907d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
deleted file mode 100644
index 134e79a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestM"
-  id="codePluginM"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleMFB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
deleted file mode 100644
index d10a77f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
deleted file mode 100644
index 0cc69b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestN"
-  id="codePluginN"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleNPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
deleted file mode 100644
index f88c86b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
deleted file mode 100644
index 02323b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
deleted file mode 100644
index c0c4ef4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Code Plugin TestO"
-  id="codePluginO"
-  version="1.0"
-  vendor-name="OTI"
-  class="org.eclipse.core.tests.internal.runtimetests.SampleOPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
deleted file mode 100644
index 64cd381..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment D"
-  id="fragmentd"
-  version="1.0.0"
-  plugin-id="plugind"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
deleted file mode 100644
index 7587f77..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginD fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
deleted file mode 100644
index 7725c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginE fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
deleted file mode 100644
index c9005a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment E"
-  id="fragmente"
-  version="1.0.0"
-  plugin-id="plugine"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
deleted file mode 100644
index a2042bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginF fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
deleted file mode 100644
index 76c8574..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment F"
-  id="fragmentf"
-  version="1.0.0"
-  plugin-id="pluginf"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
deleted file mode 100644
index 0fe3ea0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginF fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
deleted file mode 100644
index fd760f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment G"
-  id="fragmentg"
-  version="1.0.0"
-  plugin-id="pluging"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
deleted file mode 100644
index d39a646..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginG fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
deleted file mode 100644
index 9307aee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginH fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
deleted file mode 100644
index c995c80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment H"
-  id="fragmenth"
-  version="1.0.0"
-  plugin-id="pluginh"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
deleted file mode 100644
index c4e9a3d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment I"
-  id="fragmenti"
-  version="1.0.0"
-  plugin-id="plugini"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
deleted file mode 100644
index a386998..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginI fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
deleted file mode 100644
index ce4d615..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginJ fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
deleted file mode 100644
index f3d970b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment J"
-  id="fragmentj"
-  version="1.0.0"
-  plugin-id="pluginj"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
deleted file mode 100644
index c9ebc25..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment K"
-  id="fragmentk"
-  version="1.0.0"
-  plugin-id="plugink"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
deleted file mode 100644
index 1d6689b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
deleted file mode 100644
index b1f14ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
deleted file mode 100644
index a3a632e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment L"
-  id="fragmentl"
-  version="1.0.0"
-  plugin-id="pluginl"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
deleted file mode 100644
index a7b3305..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
deleted file mode 100644
index 0378888..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment M"
-  id="fragmentm"
-  version="1.0.0"
-  plugin-id="pluginm"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
deleted file mode 100644
index bd7a1c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
deleted file mode 100644
index 1e97281..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
deleted file mode 100644
index ad236ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment N"
-  id="fragmentn"
-  version="1.0.0"
-  plugin-id="pluginn"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
deleted file mode 100644
index bebb54e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
deleted file mode 100644
index 69a3d75..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
deleted file mode 100644
index 59ce72c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Test Fragment O"
-  id="fragmento"
-  version="1.0.0"
-  plugin-id="plugino"
-  plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
deleted file mode 100644
index 98f3df0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
deleted file mode 100644
index 5ba457d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginA root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
deleted file mode 100644
index 3a83d5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin A"
-  id="plugina"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
deleted file mode 100644
index 1242b4f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginB bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
deleted file mode 100644
index d5d5d1c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin B"
-  id="pluginb"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
deleted file mode 100644
index 5932830..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginC bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
deleted file mode 100644
index f0c4eb0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginC root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
deleted file mode 100644
index 36ead92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin C"
-  id="pluginc"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
deleted file mode 100644
index 182abd6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin D"
-  id="plugind"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
deleted file mode 100644
index ab36687..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin E"
-  id="plugine"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
deleted file mode 100644
index d19cef4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin F"
-  id="pluginf"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
deleted file mode 100644
index ff1a9a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginG root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
deleted file mode 100644
index 17e00f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin G"
-  id="pluging"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
deleted file mode 100644
index e015ed9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginH root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
deleted file mode 100644
index b138f1a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin H"
-  id="pluginh"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
deleted file mode 100644
index 542fc23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginI bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
deleted file mode 100644
index ca656a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin I"
-  id="plugini"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
deleted file mode 100644
index 145b356..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginJ bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
deleted file mode 100644
index 0603fb8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin J"
-  id="pluginj"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
deleted file mode 100644
index 71496e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
deleted file mode 100644
index ea570a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
deleted file mode 100644
index c9e22cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin K"
-  id="plugink"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
deleted file mode 100644
index 19188a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
deleted file mode 100644
index 1b8d368..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
deleted file mode 100644
index f5530bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin L"
-  id="pluginl"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
deleted file mode 100644
index 9ccce57..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
deleted file mode 100644
index 4c66d32..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin M"
-  id="pluginm"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
deleted file mode 100644
index ded4749..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
deleted file mode 100644
index 3dae8c9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin N"
-  id="pluginn"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
deleted file mode 100644
index a08e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
deleted file mode 100644
index d3f96c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
deleted file mode 100644
index bfcf637..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Test Plugin O"
-  id="plugino"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
deleted file mode 100644
index 382895d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Add New Preference"
-  id="addNewPreference"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
deleted file mode 100644
index f25c5c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-ExistingPreference = From the local plugin directory of addNewPreference
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
deleted file mode 100644
index 7d58978..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Change Existing Preference"
-  id="changeExistingPreference"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
deleted file mode 100644
index 2169a63..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-ExistingPreference = From the local plugin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
deleted file mode 100644
index 84b508e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocal/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPluginLocal

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndPluginLocal/commonCmdLineAndPluginLocalPreference = Common preference from the command line via the plugin cmdLineAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
deleted file mode 100644
index 6a20a0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and Plugin Local Preferences"
-  id="cmdLineAndPluginLocal"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
deleted file mode 100644
index 26d6674..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndPluginLocal

-commonCmdLineAndPluginLocalPreference = Common preference from the local plugin directory of plugin cmdLineAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 414dc32..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocalAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPluginLocalAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndPluginLocalAndPrimaryFeature/commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index e2e7e53..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndPluginLocalAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndPluginLocalAndPrimaryFeature/commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 99d5ff4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and Plugin Local and Primary Feature Preferences"
-  id="cmdLineAndPluginLocalAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 1ede640..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndPluginLocalAndPrimaryFeature

-commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin cmdLineAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 9f1dc22..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndPrimaryFeature/commonCmdLineAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 6fb4b3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndPrimaryFeature/commonCmdLineAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
deleted file mode 100644
index db545b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and Primary Feature Preferences"
-  id="cmdLineAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
deleted file mode 100644
index 77b55dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndState/CommandLinePreference = From the command line specified file via the plugin cmdLineAndState

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndState/commonCommandLineAndStatePreference = Common preference from the command line via the plugin cmdLineAndState

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
deleted file mode 100644
index 03dfe69..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndState

-commonCommandLineAndStatePreference = Common preference from the plugin state area of plugin cmdLineAndState

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
deleted file mode 100644
index e7ca055..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and State Preferences"
-  id="cmdLineAndState"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
deleted file mode 100644
index 2b12d97..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocal/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPluginLocal

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndStateAndPluginLocal/commonCommandLineAndStateAndPluginLocalPreference = Common preference from the command line via the plugin cmdLineAndStateAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
deleted file mode 100644
index 1090215..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPluginLocal

-commonCommandLineAndStateAndPluginLocalPreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
deleted file mode 100644
index f2e7039..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and State and Plugin Local Preferences"
-  id="cmdLineAndStateAndPluginLocal"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
deleted file mode 100644
index a4e1cbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndStateAndPluginLocal

-commonCommandLineAndStateAndPluginLocalPreference = Common preference from the local plugin directory of plugin cmdLineAndStateAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index a812341..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndStateAndPluginLocalAndPrimaryFeature/commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 00b4d7d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndStateAndPluginLocalAndPrimaryFeature/commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 1435de4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

-commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index cdd1392..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and State and Plugin Local and Primary Feature Preferences"
-  id="cmdLineAndStateAndPluginLocalAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 20bc434..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

-commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 836900d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndStateAndPrimaryFeature/commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndStateAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index fceb898..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndStateAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-cmdLineAndStateAndPrimaryFeature/commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndStateAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 0f95ec2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPrimaryFeature

-commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 98c50d3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line and State And Primary Feature Preferences"
-  id="cmdLineAndStateAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
deleted file mode 100644
index 20474c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-commandLinePluginPreferences/CommandLinePreference = From the command line specified file

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
deleted file mode 100644
index 830faf5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Command Line Plugin Preferences"
-  id="commandLinePluginPreferences"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
deleted file mode 100644
index 1f7367d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Local And Primary Feature Preferences"
-  id="fragmentLocalAndPrimaryFeaturePreferences"
-  version="1.0"
-  plugin-id="fragmentLocalAndPrimaryFeaturePlugin"
-  plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index c170521..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-fragmentLocalAndPrimaryFeaturePlugin/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin fragmentLocalAndPrimaryFeaturePlugin

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-fragmentLocalAndPrimaryFeaturePlugin/commonFragmentLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin fragmentLocalAndPrimaryFeaturePlugin

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 77e02a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of the plugin fragmentLocalAndPrimaryFeaturePlugin

-commonFragmentLocalAndPrimaryFeaturePreference = Common preference from the local fragment directory of plugin fragmentLocalAndPrimaryFeaturePlugin

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
deleted file mode 100644
index a351a38..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Fragment Local And Primary Feature Preferences Plugin"
-  id="fragmentLocalAndPrimaryFeaturePlugin"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
deleted file mode 100644
index b554885..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Fragment Local Preferences"
-  id="fragmentLocalPreferences"
-  version="1.0"
-  plugin-id="fragmentLocalPreferencesPlugin"
-  plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
deleted file mode 100644
index 6a492c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-FragmentLocalPreference = From the local fragment directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
deleted file mode 100644
index e4f7136..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Fragment Local Preferences Plugin"
-  id="fragmentLocalPreferencesPlugin"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
deleted file mode 100644
index b04750e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="No Preferences Plugin"
-  id="noPreferencesPlugin"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 9d65b76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginLocalAndPrimaryFeaturePreferences/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin pluginLocalAndPrimaryFeaturePreferences

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-pluginLocalAndPrimaryFeaturePreferences/commonPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin pluginLocalAndPrimaryFeaturePreferences

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 9faa741..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin Local and Primary Feature Preferences"
-  id="pluginLocalAndPrimaryFeaturePreferences"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 1845b3a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin pluginLocalAndPrimaryFeaturePreferences

-commonPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin pluginLocalAndPrimaryFeaturePreferences

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
deleted file mode 100644
index f5d4688..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Plugin Local Preferences"
-  id="pluginLocalPreferences"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
deleted file mode 100644
index faac0c5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-PluginLocalPreference = From the local plugin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
deleted file mode 100644
index ac72184..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="Primary Feature Fragment Translations Test"
-  id="primaryFeatureFragmentTranslations"
-  version="1.0"
-  plugin-id="org.eclipse.platform"
-  plugin-version="2.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
deleted file mode 100644
index 8a46a9a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-primaryFeaturePluginPreferences/PrimaryFeaturePreference = From the primary feature plugin directory

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
deleted file mode 100644
index c56c401..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Primary Feature Plugin Preferences"
-  id="primaryFeaturePluginPreferences"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
deleted file mode 100644
index 8db5ccc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Primary Feature Translations"
-  id="primaryFeatureTranslations"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
deleted file mode 100644
index e74fa81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="State And Fragment Local Preferences"
-  id="stateAndFragmentLocalPreferences"
-  version="1.0"
-  plugin-id="stateAndFragmentLocalPlugin"
-  plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
deleted file mode 100644
index 5cd3d90..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of the fragment for stateAndFragmentLocal

-commonStateAndFragmentLocalPreference = Common preference from the plugin state area for stateAndFragmentLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
deleted file mode 100644
index e00460d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of stateAndFragmentLocal

-commonStateAndFragmentLocalPreference = Common preference from the local fragment directory of stateAndFragmentLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
deleted file mode 100644
index 6cef15f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-  name="State And Fragment Local And Primary Feature Preferences"
-  id="stateAndFragmentLocalAndPrimaryFeaturePreferences"
-  version="1.0"
-  plugin-id="stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"
-  plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index a7c8db9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin/commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 22cca09..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

-commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 2f590ec..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

-commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
deleted file mode 100644
index 8276478..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State And Fragment Local And Primary Feature Preferences Plugin"
-  id="stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
deleted file mode 100644
index 0d8c455..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State And Fragment Local Plugin"
-  id="stateAndFragmentLocalPlugin"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
deleted file mode 100644
index 6ecb376..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPluginLocal

-commonStateAndPluginLocalPreference = Common preference from the plugin state area of plugin stateAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
deleted file mode 100644
index 1d34ba1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State and Plugin Local Preferences"
-  id="stateAndPluginLocal"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
deleted file mode 100644
index 8cbbde0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of plugin stateAndPluginLocal

-commonStateAndPluginLocalPreference = Common preference from the local plugin directory of plugin stateAndPluginLocal

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index a1ff157..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndPluginLocalAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-stateAndPluginLocalAndPrimaryFeature/commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 44f5dbd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature

-commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 33c3c0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State and Plugin Local and Primary Feature Preferences"
-  id="stateAndPluginLocalAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index fe1ffa3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature

-commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 1a8d7e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndPrimaryFeature

-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only

-stateAndPrimaryFeature/commonStateAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 473957c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPrimaryFeature

-commonStateAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndPrimaryFeature

diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 0ead264..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State and Primary Feature Preferences"
-  id="stateAndPrimaryFeature"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
deleted file mode 100644
index 3e4b912..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
+++ /dev/null
@@ -1 +0,0 @@
-StateLocalPreference = From the plugin state area
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
deleted file mode 100644
index e9332eb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="State Local Preferences"
-  id="stateLocalPreferences"
-  version="1.0"
-  vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/about.html b/tests/org.eclipse.core.tests.runtime/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/tests/org.eclipse.core.tests.runtime/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/build.properties b/tests/org.eclipse.core.tests.runtime/build.properties
deleted file mode 100644
index 20f6789..0000000
--- a/tests/org.eclipse.core.tests.runtime/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.runtimetests.jar = src/
-bin.includes = plugin.xml,*.jar,Plugin_Testing/,about.xml
-
diff --git a/tests/org.eclipse.core.tests.runtime/plugin.xml b/tests/org.eclipse.core.tests.runtime/plugin.xml
deleted file mode 100644
index aa36076..0000000
--- a/tests/org.eclipse.core.tests.runtime/plugin.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-  name="Eclipse Core Tests Runtime"
-  id="org.eclipse.core.tests.runtime"
-  version="2.1.0"
-  provider-name="Eclipse.org">
-
-  <requires>
-    <import plugin="org.eclipse.core.runtime"/>
-    <import plugin="org.eclipse.core.resources"/>
-    <import plugin="org.eclipse.core.tests.harness"/>
-    <import plugin="org.junit"/>
-    <import plugin="org.apache.xerces"/>
-  </requires>
-
-  <runtime>
-    <library name="runtimetests.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-
-  <extension point="org.eclipse.core.tests.harness.tests">
-    <test id="runtime.AutomatedTests">
-      <run class="org.eclipse.core.tests.runtime.AutomatedTests"/>
-    </test>
-    <test id="runtime.AllTests">
-      <run class="org.eclipse.core.tests.runtime.AllTests"/>
-    </test>
-    <test id="internal.core.runtime.AllTests">
-      <run class="org.eclipse.core.tests.internal.runtime.AllTests"/>
-    </test>
-   <test id="internal.core.runtime.AuthorizationDatabaseTest">
-      <run class="org.eclipse.core.tests.internal.runtime.AuthorizationDatabaseTest"/>
-    </test>
-   <test id="internal.core.runtime.CipherStreamsTest">
-      <run class="org.eclipse.core.tests.internal.runtime.CipherStreamsTest"/>
-    </test>
-   <test id="internal.core.runtime.CipherTest">
-      <run class="org.eclipse.core.tests.internal.runtime.CipherTest"/>
-    </test>
-   <test id="internal.core.runtime.LogSerializationTest">
-      <run class="org.eclipse.core.tests.internal.runtime.LogSerializationTest"/>
-    </test>
-   <test id="internal.core.registrycache.SimpleCacheTests">
-      <run class="org.eclipse.core.tests.internal.registrycache.SimpleCacheTests"/>
-    </test>
-   <test id="internal.core.registrycache.LazyCacheTests">
-      <run class="org.eclipse.core.tests.internal.registrycache.LazyCacheTests"/>
-    </test>    
-   <test id="internal.core.registrycache.AllTests">
-      <run class="org.eclipse.core.tests.internal.registrycache.AllTests"/>
-    </test>
-   <test id="internal.core.plugins.AllTests">
-      <run class="org.eclipse.core.tests.internal.plugins.AllTests"/>
-    </test>
-   <test id="internal.core.plugins.BasicXMLTest">
-      <run class="org.eclipse.core.tests.internal.plugins.BasicXMLTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_Base">
-      <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_Base"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectOtherRef">
-      <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectOtherRef"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectPluginRef">
-      <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectPluginRef"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_IndirectRef">
-      <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_IndirectRef"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_NoRef">
-      <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_NoRef"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTest">
-      <run class="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTestConnection">
-      <run class="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTestConnection"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.PlatformURLTest">
-      <run class="org.eclipse.core.tests.internal.plugins.PlatformURLTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.LoaderTest">
-      <run class="org.eclipse.core.tests.internal.plugins.LoaderTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.GetPluginPathTest">
-      <run class="org.eclipse.core.tests.internal.plugins.GetPluginPathTest"/>
-    </test>
-
-   <test id="core.tests.runtime.BenchPath">
-      <run class="org.eclipse.core.tests.runtime.BenchPath"/>
-   </test>
-   <test id="core.tests.runtime.CoreExceptionTest">
-      <run class="org.eclipse.core.tests.runtime.CoreExceptionTest"/>
-   </test>
-   <test id="core.tests.runtime.OperationCanceledExceptionTest">
-      <run class="org.eclipse.core.tests.runtime.OperationCanceledExceptionTest"/>
-   </test>
-    <test id="runtime.PathTest">
-      <run class="org.eclipse.core.tests.runtime.PathTest"/>
-    </test>
-   <test id="core.tests.runtime.PlatformTest">
-      <run class="org.eclipse.core.tests.runtime.PlatformTest"/>
-   </test>
-   <test id="core.tests.runtime.PluginVersionIdentifierTest">
-      <run class="org.eclipse.core.tests.runtime.PluginVersionIdentifierTest"/>
-   </test>
-   <test id="core.tests.runtime.PreferencesTest">
-      <run class="org.eclipse.core.tests.runtime.PreferencesTest"/>
-   </test>
-   <test id="core.tests.runtime.PreferenceExportTest">
-      <run class="org.eclipse.core.tests.runtime.PreferenceExportTest"/>
-   </test>
-   <test id="core.tests.runtime.ProgressMonitorWrapperTest">
-      <run class="org.eclipse.core.tests.runtime.ProgressMonitorWrapperTest"/>
-   </test>
-   <test id="core.tests.runtime.QualifiedNameTest">
-      <run class="org.eclipse.core.tests.runtime.QualifiedNameTest"/>
-   </test>
-   <test id="core.tests.runtime.StatusTest">
-      <run class="org.eclipse.core.tests.runtime.StatusTest"/>
-   </test>
-    
-   <test id="core.tests.plugintests.PluginTests">
-      <run class="org.eclipse.core.tests.plugintests.PluginTests"/>
-    </test>
-
-   <test id="internal.plugins.PluginResolveTest_1">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_1"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_2">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_2"/>
-    </test>
-    <test id="internal.plugins.PluginResolveTest_3">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_3"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_4">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_4"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_5">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_5"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_6">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_6"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_7">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_7"/>
-    </test>
-   <test id="internal.plugins.PluginResolveTest_8">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_8"/>
-    </test>
-   <test id="internal.plugins.PluginVersionTest">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginVersionTest"/>
-    </test>
-   <test id="internal.plugins.PluginVersionTest_2">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginVersionTest_2"/>
-    </test>
-   <test id="internal.plugins.PluginXmlTest">
-      <run class="org.eclipse.core.tests.internal.plugins.PluginXmlTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.JarSearchTests">
-      <run class="org.eclipse.core.tests.internal.plugins.JarSearchTests"/>
-    </test>
-   <test id="org.eclipse.core.tests.internal.plugins.JarPluginPathTest">
-      <run class="org.eclipse.core.tests.internal.plugins.JarPluginPathTest"/>
-    </test>
-   
-   <test id="org.eclipse.core.tests.plugintests.LibraryLookupTests">
-      <run class="org.eclipse.core.tests.plugintests.LibraryLookupTests"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.PluginFindTests">
-      <run class="org.eclipse.core.tests.plugintests.PluginFindTests"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.PreferencesRuntimeTests">
-      <run class="org.eclipse.core.tests.plugintests.PreferencesRuntimeTests"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLinePreferencesTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLinePreferencesTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndPrimaryFeatureTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndPrimaryFeatureTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalAndPrimaryFeatureTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalAndPrimaryFeatureTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPrimaryFeatureTest">
-      <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPrimaryFeatureTest"/>
-    </test>
-   <test id="org.eclipse.core.tests.plugintests.SavePreferencesTests">
-      <run class="org.eclipse.core.tests.plugintests.SavePreferencesTests"/>
-    </test>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
deleted file mode 100644
index 3772c7d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.boot.*;
-
-public class BaseExtension implements IPlatformRunnable {
-
-	public int runCount = 0;
-public BaseExtension() {
-	super();
-}
-
-public Object run(Object o) {	
-	runCount++;
-	return null;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
deleted file mode 100644
index 3d62138..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public abstract class ConfigurableExtension extends BaseExtension implements IExecutableExtension {
-
-	public IConfigurationElement config = null;
-	public String propertyName = null;
-	public Object data = null;
-	
-public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-
-	this.config = config;
-	this.propertyName = propertyName;
-	this.data = data;
-	
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
deleted file mode 100644
index d3ae39a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-/**
- */
-public class Dummy {
-/**
- */
-public Dummy() {
-	super();
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
deleted file mode 100644
index 1f1ef01..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-public class ExtensionDirectCompilerReferenceToOtherClass extends ConfigurableExtension {
-public Object run(Object o) {	
-	super.run(o);
-	// make direct compiler reference to other class (not plugin class)
-	Class c = org.eclipse.core.tests.internal.plugin.c.api.ApiClass.class;
-	return c;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
deleted file mode 100644
index a77d710..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public class ExtensionDirectCompilerReferenceToPluginClass extends ConfigurableExtension {
-
-public Object run(Object o) {	
-	super.run(o);
-	// make direct compiler reference to other plugin class
-	Plugin p = org.eclipse.core.tests.internal.plugin.b.PluginClass.plugin;
-	return p;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
deleted file mode 100644
index 3a5e59e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-public class ExtensionIndirectReferenceToPlugin extends ConfigurableExtension {
-
-public Object run(Object o) {	
-	super.run(o);
-	Plugin p = Platform.getPlugin("plugin.c");
-	return p;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
deleted file mode 100644
index 733969b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
-	public static Plugin plugin = null;
-	public int startupCount = 0;
-	
-
-public PluginClass(IPluginDescriptor descriptor) {
-	super(descriptor);
-	plugin = this;
-}
-
-public void startup() throws CoreException {
-	startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
deleted file mode 100644
index 904b929..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a.api;
-public class ApiClass {
-
-public ApiClass() {
-	super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
deleted file mode 100644
index c78ce66..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.b;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
-	public static Plugin plugin = null;
-	public int startupCount = 0;
-	
-
-public PluginClass(IPluginDescriptor descriptor) {
-	super(descriptor);
-	plugin = this;
-}
-
-public void startup() throws CoreException {
-	startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
deleted file mode 100644
index fc53eed..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.b.api;
-public class ApiClass {
-
-public ApiClass() {
-	super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
deleted file mode 100644
index 2da3a46..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c;
-public class ExportedClass {
-
-public ExportedClass() {
-	super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
deleted file mode 100644
index 3830f9d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
-	public static Plugin plugin = null;
-	public int startupCount = 0;
-	
-
-public PluginClass(IPluginDescriptor descriptor) {
-	super(descriptor);
-	plugin = this;
-}
-
-public void startup() throws CoreException {
-	startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
deleted file mode 100644
index f822d8b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c.api;
-public class ApiClass {
-
-public ApiClass() {
-	super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
deleted file mode 100644
index 3b05b3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.d;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
-	public static Plugin plugin = null;
-	public int startupCount = 0;
-	
-
-public PluginClass(IPluginDescriptor descriptor) {
-	super(descriptor);
-	plugin = this;
-}
-
-public void startup() throws CoreException {
-	startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
deleted file mode 100644
index 20ed574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.d.api;
-public class ApiClass {
-
-public ApiClass() {
-	super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
deleted file mode 100644
index ccb4293..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_Base extends WorkspaceSessionTest {
-public ActivationTest_Base() {
-	super(null);
-}
-public ActivationTest_Base(String name) {
-	super(name);
-}
-public void testBase() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pdA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pdB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pdC = registry.getPluginDescriptor("plugin.c");
-	assertNotNull("0.0", pdA);
-	assertNotNull("0.1", pdB);
-	assertNotNull("0.2", pdC);
-
-	// check initial activation state
-	assertTrue("1.0", !pdA.isPluginActivated());
-	assertTrue("1.1", !pdB.isPluginActivated());
-	assertTrue("1.2", !pdC.isPluginActivated());
-
-	Plugin p = null;
-	// get plugin class for plugin A
-	try {
-		p = pdA.getPlugin();
-	} catch (CoreException e) {
-		fail("2.0.0");
-	}
-	assertTrue("2.0.1", pdA.isPluginActivated());
-	assertTrue("2.1", !pdB.isPluginActivated());
-	assertTrue("2.2", !pdC.isPluginActivated());
-	assertTrue("2.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.a.PluginClass"));
-
-	// get plugin class for plugin B
-	try {
-		p = pdB.getPlugin();
-	} catch (CoreException e) {
-		fail("3.0.0");
-	}
-	assertTrue("3.0.1", pdA.isPluginActivated());
-	assertTrue("3.1", pdB.isPluginActivated());
-	assertTrue("3.2", !pdC.isPluginActivated());
-	assertTrue("3.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.b.PluginClass"));
-
-	// get plugin class for plugin C
-	try {
-		p = pdC.getPlugin();
-	} catch (CoreException e) {
-		fail("4.0.0");
-	}
-	assertTrue("4.0.1", pdA.isPluginActivated());
-	assertTrue("4.1", pdB.isPluginActivated());
-	assertTrue("4.2", pdC.isPluginActivated());
-	assertTrue("4.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.c.PluginClass"));
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
deleted file mode 100644
index cbd1efc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.plugins.PluginClassLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_DirectOtherRef extends WorkspaceSessionTest {
-public ActivationTest_DirectOtherRef() {
-	super(null);
-}
-public ActivationTest_DirectOtherRef(String name) {
-	super(name);
-}
-public void testExtensionDirectReferenceToOtherClassTest() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-
-	// check initial activation state
-	assertTrue("1.0", !pluginA.isPluginActivated());
-	assertTrue("1.1", !pluginB.isPluginActivated());
-	assertTrue("1.2", !pluginC.isPluginActivated());
-
-	// get base extension
-	IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".referenceOther");
-	assertTrue("2.0", cfig.length == 1);
-	IPlatformRunnable o = null;
-	try {
-		o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
-	} catch (CoreException e) {
-		fail("2.1 " + e.getMessage());
-	}
-
-	// check activation state
-	assertTrue("3.0", pluginA.isPluginActivated());
-	assertTrue("3.1", !pluginB.isPluginActivated());
-	assertTrue("3.2", !pluginC.isPluginActivated());
-
-	// run the extension
-	Object result = null;
-	try {
-		result = o.run(null);
-	} catch (Exception e) {
-		fail("4.0 " + e.getMessage());
-	}
-	if (result instanceof Exception) {
-		fail("4.1 " + ((Exception) result).getMessage());
-	}
-
-	// check activation state
-	assertTrue("5.0", pluginA.isPluginActivated());
-	assertTrue("5.1", !pluginB.isPluginActivated());
-	assertTrue("5.2", pluginC.isPluginActivated()); // by direct reference to class in C from A.run()
-
-	// check result
-	if (result instanceof Class) {
-		ClassLoader loader = ((Class) result).getClassLoader();
-		if (loader instanceof PluginClassLoader) {
-			assertTrue("6.0", pluginC == ((PluginClassLoader) loader).getPluginDescriptor());
-		} else
-			fail("6.1");
-	} else
-		fail("6.2");
-
-	// check activation state (no change)
-	assertTrue("7.0", pluginA.isPluginActivated());
-	assertTrue("7.1", !pluginB.isPluginActivated());
-	assertTrue("7.2", pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
deleted file mode 100644
index 2425a76..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_DirectPluginRef extends WorkspaceSessionTest {
-public ActivationTest_DirectPluginRef() {
-	super(null);
-}
-public ActivationTest_DirectPluginRef(String name) {
-	super(name);
-}
-public void testExtensionDirectReferenceToPluginClassTest() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-
-	// check initial activation state
-	assertTrue("1.0", !pluginA.isPluginActivated());
-	assertTrue("1.1", !pluginB.isPluginActivated());
-	assertTrue("1.2", !pluginC.isPluginActivated());
-
-	// get base extension
-	IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".referencePlugin");
-	assertTrue("2.0", cfig.length == 1);
-	IPlatformRunnable o = null;
-	try {
-		o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
-	} catch (CoreException e) {
-		fail("2.1 " + e.getMessage());
-	}
-
-	// check activation state
-	assertTrue("3.0", pluginA.isPluginActivated());
-	assertTrue("3.1", !pluginB.isPluginActivated());
-	assertTrue("3.2", !pluginC.isPluginActivated());
-
-	// run the extension
-	Object result = null;
-	try {
-		result = o.run(null);
-	} catch (Exception e) {
-		fail("4.0 " + e.getMessage());
-	}
-	if (result instanceof Exception) {
-		fail("4.1 " + ((Exception) result).getMessage());
-	}
-
-	// check activation state
-	assertTrue("5.0", pluginA.isPluginActivated());
-	assertTrue("5.1", pluginB.isPluginActivated()); // by direct reference to B plugin class from A.run()
-	assertTrue("5.2", !pluginC.isPluginActivated());
-
-	// check result
-	if (result instanceof Plugin) {
-			Plugin p = null;
-			try {
-				p = pluginB.getPlugin();
-			} catch (CoreException e) {
-				fail("6.0 " + e.getMessage());
-			}
-			assertTrue("6.1", ((Plugin) result) == p);
-		} else
-			fail("6.2");
-
-	// check activation state (no change)
-	assertTrue("7.0", pluginA.isPluginActivated());
-	// assert("7.1", pluginB.isPluginActivated());
-	assertTrue("7.2", !pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
deleted file mode 100644
index c295451..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_IndirectRef extends WorkspaceSessionTest {
-public ActivationTest_IndirectRef() {
-	super(null);
-}
-public ActivationTest_IndirectRef(String name) {
-	super(name);
-}
-public void testExtensionIndirectReferenceToPluginTest() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-
-	// check initial activation state
-	assertTrue("1.0", !pluginA.isPluginActivated());
-	assertTrue("1.1", !pluginB.isPluginActivated());
-	assertTrue("1.2", !pluginC.isPluginActivated());
-
-	// get base extension
-	IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".lookupPlugin");
-	assertTrue("2.0", cfig.length == 1);
-	IPlatformRunnable o = null;
-	try {
-		o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
-	} catch (CoreException e) {
-		fail("2.1 " + e.getMessage());
-	}
-
-	// check activation state
-	assertTrue("3.0", pluginA.isPluginActivated());
-	assertTrue("3.1", !pluginB.isPluginActivated());
-	assertTrue("3.2", !pluginC.isPluginActivated());
-
-	// run the extension
-	Object result = null;
-	try {
-		result = o.run(null);
-	} catch (Exception e) {
-		fail("4.0 " + e.getMessage());
-	}
-	if (result instanceof Exception) {
-		fail("4.1 " + ((Exception) result).getMessage());
-	}
-
-	// check activation state
-	assertTrue("5.0", pluginA.isPluginActivated());
-	assertTrue("5.1", !pluginB.isPluginActivated());
-	assertTrue("5.2", pluginC.isPluginActivated()); // by indirect reference to C plugin class from A.run()
-
-	// check result
-	 if (result instanceof Plugin) {
-		Plugin p = null;
-		try {
-			p = pluginC.getPlugin();
-		} catch (CoreException e) {
-			fail("6.0 " + e.getMessage());
-		}
-		assertTrue("6.1", ((Plugin) result) == p);
-	} else
-		fail("6.2");
-
-	// check activation state (no change)
-	assertTrue("7.0", pluginA.isPluginActivated());
-	assertTrue("7.1", !pluginB.isPluginActivated());
-	assertTrue("7.2", pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
deleted file mode 100644
index 8c49382..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_NoRef extends WorkspaceSessionTest {
-public ActivationTest_NoRef() {
-	super(null);
-}
-public ActivationTest_NoRef(String name) {
-	super(name);
-}
-public void testExtensionNoReferenceTest() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-
-	// check initial activation state
-	assertTrue("1.0", !pluginA.isPluginActivated());
-	assertTrue("1.1", !pluginB.isPluginActivated());
-	assertTrue("1.2", !pluginC.isPluginActivated());
-
-	// get base extension
-	IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".base");
-	assertTrue("2.0", cfig.length == 1);
-	IPlatformRunnable o = null;
-	try {
-		o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
-	} catch (CoreException e) {
-		fail("2.1");
-	}
-
-	// check activation state
-	assertTrue("3.0", pluginA.isPluginActivated());
-	assertTrue("3.1", !pluginB.isPluginActivated());
-	assertTrue("3.2", !pluginC.isPluginActivated());
-
-	// run the extension
-	try {
-		o.run(null);
-	} catch (Exception e) {
-		fail("4.0");
-	}
-
-	// check activation state
-	assertTrue("5.0", pluginA.isPluginActivated());
-	assertTrue("5.1", !pluginB.isPluginActivated());
-	assertTrue("5.2", !pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
deleted file mode 100644
index eda12a2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-
-public AllTests() {
-	super(null);
-}
-
-public AllTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(PluginResolveTest_1.suite());
-	suite.addTest(PluginResolveTest_2.suite());
-	suite.addTest(PluginResolveTest_3.suite());
-	suite.addTest(PluginResolveTest_4.suite());
-	suite.addTest(PluginResolveTest_5.suite());
-	suite.addTest(PluginResolveTest_6.suite());
-	suite.addTest(PluginResolveTest_7.suite());
-	suite.addTest(PluginResolveTest_8.suite());
-	suite.addTest(PluginResolveTest_9.suite());
-	suite.addTest(PluginResolveTest_10.suite());
-	suite.addTest(PluginResolveTest_11.suite());
-	suite.addTest(PluginResolveTest_12.suite());
-	suite.addTest(PluginResolveTest_13.suite());
-	suite.addTest(PluginResolveTest_14.suite());
-	suite.addTest(PluginResolveTest_15.suite());
-	suite.addTest(PluginResolveTest_16.suite());
-	suite.addTest(PluginResolveTest_17.suite());
-	suite.addTest(PluginResolveTest_18.suite());
-	suite.addTest(PluginResolveTest_19.suite());
-	suite.addTest(PluginResolveTest_20.suite());
-	suite.addTest(PluginResolveTest_21.suite());
-	suite.addTest(PluginResolveTest_22.suite());
-	suite.addTest(PluginResolveTest_23.suite());
-	suite.addTest(PluginResolveTest_24.suite());
-	suite.addTest(PluginResolveTest_25.suite());
-	suite.addTest(PluginResolveTest_26.suite());
-	suite.addTest(PluginResolveTest_27.suite());
-	suite.addTest(PluginResolveTest_28.suite());
-	suite.addTest(PluginResolveTest_29.suite());
-	suite.addTest(PluginResolveTest_30.suite());
-	suite.addTest(PluginResolveTest_31.suite());
-	suite.addTest(PluginResolveTest_32.suite());
-	suite.addTest(PluginResolveTest_33.suite());
-	suite.addTest(PluginVersionTest.suite());
-	suite.addTest(PluginVersionTest_2.suite());
-	suite.addTest(PluginXmlTest.suite());
-	suite.addTest(BasicXMLTest.suite());
-	suite.addTest(NumberOfElementsTest.suite());
-	suite.addTest(ExtensiveLibraryTest.suite());
-	suite.addTest(ExtensiveRequiresTest.suite());
-	suite.addTest(BadPluginsTest.suite());
-	suite.addTest(ExtensiveFragmentTest.suite());
-	suite.addTest(BasicFragmentTest.suite());
-	suite.addTest(SoftPrereqTest_1.suite());
-	suite.addTest(SoftPrereqTest_2.suite());
-	suite.addTest(SoftPrereqTest_3.suite());
-	suite.addTest(SoftPrereqTest_4.suite());
-	suite.addTest(SoftPrereqTest_5.suite());
-	suite.addTest(SoftPrereqTest_6.suite());
-	suite.addTest(SoftPrereqTest_7.suite());
-	suite.addTest(SoftPrereqTest_8.suite());
-	suite.addTest(SoftPrereqTest_9.suite());
-	suite.addTest(SoftPrereqTest_10.suite());
-	suite.addTest(SoftPrereqTest_11.suite());
-	suite.addTest(SoftPrereqTest_12.suite());
-	suite.addTest(SoftPrereqTest_13.suite());
-	suite.addTest(SoftPrereqTest_14.suite());
-	suite.addTest(SoftPrereqTest_15.suite());
-	suite.addTest(SoftPrereqTest_16.suite());
-	suite.addTest(SoftPrereqTest_17.suite());
-	suite.addTest(SoftPrereqTest_18.suite());
-	suite.addTest(SoftPrereqTest_19.suite());
-	suite.addTest(SoftPrereqTest_20.suite());
-	suite.addTest(SoftPrereqTest_21.suite());
-	suite.addTest(SoftPrereqTest_22.suite());
-	suite.addTest(ConflictResolveTest_1.suite());
-	suite.addTest(ConflictResolveTest_2.suite());
-	suite.addTest(ConflictResolveTest_3.suite());
-	suite.addTest(ConflictResolveTest_4.suite());
-	suite.addTest(ConflictResolveTest_5.suite());
-	suite.addTest(ConflictResolveTest_6.suite());
-	suite.addTest(ConflictResolveTest_7.suite());
-	suite.addTest(CircularTest.suite());
-	suite.addTest(RegressionResolveTest_1.suite());
-	suite.addTest(RegressionResolveTest_2.suite());
-	suite.addTest(RegressionResolveTest_3.suite());
-	suite.addTest(RegressionResolveTest_4.suite());
-	suite.addTest(RegressionResolveTest_5.suite());
-	suite.addTest(RegressionResolveTest_6.suite());
-	suite.addTest(RegressionResolveTest_7.suite());
-	suite.addTest(RegressionResolveTest_8.suite());
-	suite.addTest(RegressionResolveTest_9.suite());
-	suite.addTest(RegressionResolveTest_10.suite());
-	suite.addTest(RegressionResolveTest_11.suite());
-	suite.addTest(FragmentResolveTest_1.suite());
-	suite.addTest(FragmentResolveTest_2.suite());
-	suite.addTest(FragmentResolveTest_3.suite());
-	suite.addTest(FragmentResolveTest_4.suite());
-	suite.addTest(FragmentResolveTest_5.suite());
-	suite.addTest(FragmentResolveTest_6.suite());
-	suite.addTest(FragmentResolveTest_7.suite());
-	suite.addTest(FragmentResolveTest_8.suite());
-	suite.addTest(FragmentResolveTest_9.suite());
-	suite.addTest(FragmentResolveTest_10.suite());
-	suite.addTest(FragmentResolveTest_11.suite());
-	suite.addTest(FragmentResolveTest_12.suite());
-	suite.addTest(FragmentResolveTest_13.suite());
-	suite.addTest(OrphanTest.suite());
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
deleted file mode 100644
index 4fe6a06..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class BadPluginsTest extends EclipseWorkspaceTest {
-
-public BadPluginsTest() {
-	super(null);
-}
-
-public BadPluginsTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	return new TestSuite(BadPluginsTest.class);
-}
-
-public void testBadElements() {
-	String[] badElements = {
-		"badTopLevelElementsTest", 
-		"badPluginElementsTest", 
-		"badExtensionPointElementsTest", 
-		"badLibrary1ElementsTest",
-		"badLibrary2ElementsTest",
-		"badRequiresImportElementsTest",
-		"badRequiresElementsTest",
-		"badRuntimeElementsTest",
-	};
-	String[] errorMessages = {
-		"badTopLevelElementsTest.xml: Unknown element \"notAPlugin\", found at the top level, ignored.",
-		"badPluginElementsTest.xml: Unknown element \"somethingBad\", found within a \"plugin / fragment\", ignored.",
-		"badExtensionPointElementsTest.xml: Unknown element \"nameless\", found within a \"extension-point\", ignored.",
-		"badLibrary1ElementsTest.xml: Unknown element \"notAnExport\", found within a \"library\", ignored.",
-		"badLibrary2ElementsTest.xml: Unknown element \"badElement\", found within a \"export\", ignored.",
-		"badRequiresImportElementsTest.xml: Unknown element \"unrecognizedElement\", found within a \"requires\", ignored.",
-		"badRequiresElementsTest.xml: Unknown element \"notAnImport\", found within a \"requires\", ignored.",
-		"badRuntimeElementsTest.xml: Unknown element \"notALibrary\", found within a \"runtime\", ignored.",
-	};
-
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		for (int i = 0; i < badElements.length; i++) {
-			MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-			InternalFactory factory = new InternalFactory(problems);
-			String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badElements[i] + ".xml");
-			URL pluginURLs[] = new URL[1];
-			URL pURL = null;
-			try {
-				pURL = new URL (pluginPath);
-			} catch (java.net.MalformedURLException e) {
-				assertTrue("Bad URL for " + pluginPath, true);
-			}
-			pluginURLs[0] = pURL;
-			IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-			if (badElements[i].equals("badTopLevelElementsTest")) {
-				IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-				assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 0);
-				if (errorMessages[i].equals("")) {
-					System.out.println ("id = <no plugin>");
-					System.out.println (problems.toString());
-				} else
-					assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			} else {
-				IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-				assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 1);
-				PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-				assertTrue(i + ".1 Got the right plugin", plugin.getId().equals(badElements[i]));
-				if (errorMessages[i].equals("")) {
-					System.out.println ("id = " + plugin.getId());
-					System.out.println (problems.toString());
-				} else
-					assertTrue(i + ".2 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			}
-		}
-	} catch (Exception e) {}
-}
-
-public void testBadAttributes() {
-	String[] badAttrs = {
-		"badPluginAttributesTest", 
-		"badFragment1AttributesTest", 
-		"badExtensionPointAttributesTest", 
-		"badExtensionAttributesTest",
-		"badRequiresImport1AttributesTest",
-		"badRequiresImport2AttributesTest",
-		"badRequiresImport3AttributesTest",
-		"badLibrary1AttributesTest",
-		"badLibrary2AttributesTest",
-		"badLibrary3AttributesTest",
-		"badFragment2AttributesTest", 
-	};
-	String[] errorMessages = {
-		"badPluginAttributesTest.xml: Unknown attribute \"a-bad-attribute\" for element \"plugin\" ignored.",
-		"badFragment1AttributesTest.xml: Unknown attribute \"vendor-name\" for element \"fragment\" ignored.",
-		"badExtensionPointAttributesTest.xml: Unknown attribute \"bogusAttribute\" for element \"extension-point\" ignored.",
-		"badExtensionAttributesTest.xml: Unknown attribute \"hello\" for element \"extension\" ignored.",
-		"badRequiresImport1AttributesTest.xml: Unknown attribute \"badImportAttr\" for element \"import\" ignored.",
-		"badRequiresImport2AttributesTest.xml: \"notTrue\" is not a valid value for the attribute \"export\".   Use \"true\" or \"false\".",
-		"badRequiresImport3AttributesTest.xml: \"incompatible\" is not a valid value for the attribute \"match\".   Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".",
-		"badLibrary1AttributesTest.xml: Unknown attribute \"badAttribute\" for element \"library\" ignored.",
-		"badLibrary2AttributesTest.xml: Unknown attribute \"badExportAttribute\" for element \"library\" ignored.",
-		"badLibrary3AttributesTest.xml: Unknown library type \"source\" for library \"lib1.jar\".",
-		"badFragment2AttributesTest.xml: \"nothing\" is not a valid value for the attribute \"match\".   Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".",
-	};
-	
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		for (int i = 0; i < badAttrs.length; i++) {
-			MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-			InternalFactory factory = new InternalFactory(problems);
-			String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
-			URL pluginURLs[] = new URL[1];
-			URL pURL = null;
-			try {
-				pURL = new URL (pluginPath);
-			} catch (java.net.MalformedURLException e) {
-				assertTrue("Bad URL for " + pluginPath, true);
-			}
-			pluginURLs[0] = pURL;
-			IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-			String id = null;
-			if ((badAttrs[i].equals("badFragment1AttributesTest")) ||
-			    (badAttrs[i].equals("badFragment2AttributesTest"))) {
-				PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
-				assertTrue(i + ".0 Only one fragment", fragmentDescriptors.length == 1);
-				PluginFragmentModel fragment = (PluginFragmentModel)fragmentDescriptors[0];
-				id = fragment.getId();
-				assertTrue(i + ".1 Got the right fragment", id.equals(badAttrs[i]));
-			} else {
-				IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-				assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 1);
-				PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-				id = plugin.getId();
-				assertTrue(i + ".1 Got the right plugin", id.equals(badAttrs[i]));
-			}
-			if (errorMessages[i].equals("")) {
-				System.out.println("id = " + id);
-				System.out.println(problems.toString());
-			} else {
-				assertTrue(i + ".2 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			}
-		}
-	} catch (Exception e) {}
-}
-
-public void testBadPlugins() {
-	String[] badTests = {
-		"noPluginIdTest", 
-		"blankPluginIdTest",
-		"noPluginNameTest",
-		"blankPluginNameTest", 
-		"noPluginVersionTest", 
-		"blankPluginVersionTest",
-		"badPluginVersionTest", 
-		"badPluginVersion2Test", 
-		"badPluginVersion3Test", 
-		"badPluginVersion4Test", 
-		"badPluginVersion5Test", 
-	};
-	String[] errorMessages = {
-		"Id attribute missing from plug-in or fragment at \"file:",
-		"Id attribute missing from plug-in or fragment at \"file:",
-		"Name attribute missing from plug-in or fragment at \"file:",
-		"Name attribute missing from plug-in or fragment at \"file:",
-		"Version attribute missing from plug-in or fragment at \"file:",
-		"A plug-in version identifier must be non-empty.",
-		"The service (3rd) component of plug-in version identifier, \"1.2.bad\", must be numeric.",
-		"The minor (2nd) component of plug-in version identifier, \"1.bad.0\", must be numeric.",
-		"Plug-in version identifier, \"...\", must not start with a separator character.",
-		"The major (1st) component of plug-in version identifier, \"one\", must be numeric.",
-		"Plug-in version identifier, \"1.2.3.4.5\", can contain a maximum of four components.",
-	};
-	
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		for (int i = 0; i < badTests.length; i++) {
-			MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-			InternalFactory factory = new InternalFactory(problems);
-			String[] pluginPath = new String[1];
-			pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badTests[i] + ".xml");
-			URL pluginURLs[] = new URL[1];
-			for (int j = 0; j < pluginURLs.length; j++) {
-				URL pURL = null;
-				try {
-					pURL = new URL (pluginPath[j]);
-				} catch (java.net.MalformedURLException e) {
-					assertTrue("Bad URL for " + pluginPath[j], true);
-				}
-				pluginURLs[j] = pURL;
-			}
-			IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-			PluginDescriptorModel[] plugins = ((PluginRegistryModel)registry).getPlugins();
-			assertTrue(i + ".0 No plugins found", plugins.length == 0);
-			if (errorMessages[i].equals("")) {
-				System.out.println("id = " + badTests[i]);
-				System.out.println(problems.toString());
-			} else {
-				assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			}
-		}
-	} catch (Exception e) {
-		fail("0.2 Unexpected exception - " + e.getMessage());
-	}
-}
-
-public void testBadFragment() {
-	String[] badAttrs = {
-		"badFragmentsTest",
-		"fragment10799",
-	};
-	String[] errorMessages = {
-		"Plug-in descriptor \"org.eclipse.not.there\" not found for fragment \"badFragmentsTest\".  Fragment ignored.",
-		"Fragment \"Fragment 10799\" requires non-existant plug-in \"org.apache.something.which.does.not.exist\".  Fragment ignored.",
-	};
-	
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		for (int i = 0; i < badAttrs.length; i++) {
-			MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-			InternalFactory factory = new InternalFactory(problems);
-			String[] pluginPath = new String[2];
-			pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml");
-			pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
-			URL pluginURLs[] = new URL[2];
-			for (int j = 0; j < pluginURLs.length; j++) {
-				URL pURL = null;
-				try {
-					pURL = new URL (pluginPath[j]);
-				} catch (java.net.MalformedURLException e) {
-					assertTrue("Bad URL for " + pluginPath[j], true);
-				}
-				pluginURLs[j] = pURL;
-			}
-			IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-			String id = null;
-			PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
-			assertTrue(i + ".0 Only one fragment", fragmentDescriptors.length == 1);
-			PluginFragmentModel fragment = (PluginFragmentModel)fragmentDescriptors[0];
-			id = fragment.getId();
-			assertTrue(i + ".1 Got the right fragment", id.equals(badAttrs[i]));
-			IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-			assertTrue(i + ".2 Only one plugin", pluginDescriptors.length == 1);
-			PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-			id = plugin.getId();
-			assertTrue(i + ".3 Got the right plugin", id.equals("badFragmentsPluginTest"));
-			if (errorMessages[i].equals("")) {
-				System.out.println("id = " + id);
-				System.out.println(problems.toString());
-			} else {
-				assertTrue(i + ".4 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			}
-		}
-	} catch (Exception e) {
-		fail("0.5 Unexpected exception - " + e.getMessage());
-	}
-}
-
-public void testFailedFragment() {
-	String[] badAttrs = {
-		"noFragmentIdTest", 
-		"blankFragmentIdTest",
-		"noFragmentNameTest",
-		"blankFragmentNameTest", 
-		"noFragmentVersionTest", 
-		"blankFragmentVersionTest",
-		"badFragmentVersionTest", 
-		"noFragmentPluginIdTest",
-		"blankFragmentPluginIdTest",
-		"noFragmentPluginVersionTest",
-		"blankFragmentPluginVersionTest",
-	};
-	String[] errorMessages = {
-		"Id attribute missing from plug-in or fragment at \"file:",
-		"Id attribute missing from plug-in or fragment at \"file:",
-		"Name attribute missing from plug-in or fragment at \"file:",
-		"Name attribute missing from plug-in or fragment at \"file:",
-		"Version attribute missing from plug-in or fragment at \"file:",
-		"A plug-in version identifier must be non-empty.",
-		"The service (3rd) component of plug-in version identifier, \"1.2.bad\", must be numeric.",
-		"Plug-in name attribute missing from fragment at \"file:",
-		"Plug-in name attribute missing from fragment at \"file:",
-		"Plug-in version attribute missing from fragment at \"file:",
-		"A plug-in version identifier must be non-empty.",
-	};
-	
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		for (int i = 0; i < badAttrs.length; i++) {
-			MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-			InternalFactory factory = new InternalFactory(problems);
-			String[] pluginPath = new String[2];
-			pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml");
-			pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
-			URL pluginURLs[] = new URL[2];
-			for (int j = 0; j < pluginURLs.length; j++) {
-				URL pURL = null;
-				try {
-					pURL = new URL (pluginPath[j]);
-				} catch (java.net.MalformedURLException e) {
-					assertTrue("Bad URL for " + pluginPath[j], true);
-				}
-				pluginURLs[j] = pURL;
-			}
-			IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-			PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
-			assertTrue(i + ".0 No fragments found", fragmentDescriptors.length == 0);
-			if (errorMessages[i].equals("")) {
-				System.out.println("id = " + badAttrs[i]);
-				System.out.println(problems.toString());
-			} else {
-				assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
-			}
-		}
-	} catch (Exception e) {
-		fail("0.2 Unexpected exception - " + e.getMessage());
-	}
-}
-public void testDuplicatePlugin() {
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String errorMessage = "Two plug-ins found with the same id: \"duplicatePluginTest\". Ignoring duplicate at \"file:";
-	try {
-		MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
-		InternalFactory factory = new InternalFactory(problems);
-		String[] pluginPath = new String[2];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/duplicatePlugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/duplicatePlugin2.xml");
-		URL pluginURLs[] = new URL[2];
-		for (int j = 0; j < pluginURLs.length; j++) {
-			URL pURL = null;
-			try {
-				pURL = new URL (pluginPath[j]);
-			} catch (java.net.MalformedURLException e) {
-				assertTrue("Bad URL for " + pluginPath[j], true);
-			}
-			pluginURLs[j] = pURL;
-		}
-		IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-		PluginDescriptorModel[] pluginDescriptors = ((PluginRegistryModel)registry).getPlugins();
-		assertTrue("1.0 One plugin found", pluginDescriptors.length == 1);
-		if (errorMessage.equals("")) {
-			System.out.println(problems.toString());
-		} else {
-			assertTrue("1.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
-		}
-	} catch (Exception e) {
-		fail("0.2 Unexpected exception - " + e.getMessage());
-	}
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
deleted file mode 100644
index d934969..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class BasicFragmentTest extends EclipseWorkspaceTest {
-
-public BasicFragmentTest() {
-	super(null);
-}
-
-public BasicFragmentTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	// These 4 tests are designed primarily to address
-	// PR1GHFPFY which noted that runtime libraries in a
-	// fragment were being added to the relevant plugin
-	// twice.
-	suite.addTest(new BasicFragmentTest("extensionPointTest"));
-	suite.addTest(new BasicFragmentTest("extensionTest"));
-	suite.addTest(new BasicFragmentTest("libraryTest"));
-	suite.addTest(new BasicFragmentTest("requiresTest"));
-	// The following test was added for PR1GHH81D.  In this
-	// PR we found that we didn't always pick up the latest
-	// version of a fragment to augment the plugin
-	suite.addTest(new BasicFragmentTest("fragmentVersionTest"));
-	return suite;
-}
-public void extensionPointTest() {
-	// Ensure fragment extension point information is not being added twice to the plugin
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[1];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/extensionPointTest/");
-	URL pluginURLs[] = new URL[1];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
-	assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("1.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("1.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("1.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-	
-	// Check extension points
-	ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
-	assertTrue("1.4 Got 4 extension points", extensionPoints.length == 4);
-	assertNotNull("1.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
-	assertNotNull("1.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
-	assertNotNull("1.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-	assertNotNull("1.8 Got xpt4 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt4"));
-}
-
-public void extensionTest() {
-	// Ensure fragment extension information is not being added twice to the plugin
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[1];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/extensionTest/");
-	URL pluginURLs[] = new URL[1];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
-	assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("2.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("2.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("2.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-		
-	// Check extensions
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("2.4 Got 4 extensions", extensions.length == 4);
-	assertNotNull("2.5 Got x1 extension", ((IPluginDescriptor)plugin).getExtension("x1"));
-	assertNotNull("2.6 Got x2 extension", ((IPluginDescriptor)plugin).getExtension("x2"));
-	assertNotNull("2.7 Got x3 extension", ((IPluginDescriptor)plugin).getExtension("x3"));
-	assertNotNull("2.8 Got x4 extension", ((IPluginDescriptor)plugin).getExtension("x4"));
-}
-
-public void libraryTest() {
-	// Ensure fragment library information is not being added twice to the plugin
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[1];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/libraryTest/");
-	URL pluginURLs[] = new URL[1];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
-	assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("3.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("3.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("3.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-	
-	// Check libraries
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue ("3.4 Got 4 libraries", libraries.length == 4);
-	int idx1 = -1;
-	int idx2 = -1;
-	int idx3 = -1;
-	int idx4 = -1;
-	for (int i = 0; i < libraries.length; i++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			idx1 = i;
-		} else if (libraries[i].getName().equals("lib2.jar")) {
-			idx2 = i;
-		} else if (libraries[i].getName().equals("lib3.jar")) {
-			idx3 = i;
-		} else if (libraries[i].getName().equals("lib4.jar")) {
-			idx4 = i;
-		}
-	}
-	assertTrue("3.5 Have lib1.jar library", idx1 != -1);
-	assertTrue("3.6 Have lib2.jar library", idx2 != -1);
-	assertTrue("3.7 Have lib3.jar library", idx3 != -1);
-	assertTrue("3.8 Have lib4.jar library", idx4 != -1);
-	
-}
-
-
-public void requiresTest() {
-	// Ensure fragment prerequisite information is not being added twice to the plugin
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[1];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/requiresTest/");
-	URL pluginURLs[] = new URL[1];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
-	assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("4.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("4.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("4.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-	
-	// Check requires
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue ("4.4 Got 4 prerequisites", requires.length == 4);
-	int idx1 = -1;
-	int idx2 = -1;
-	int idx3 = -1;
-	int idx4 = -1;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getPlugin().equals("testa")) {
-			idx1 = i;
-		} else if (requires[i].getPlugin().equals("testb")) {
-			idx2 = i;
-		} else if (requires[i].getPlugin().equals("testc")) {
-			idx3 = i;
-		} else if (requires[i].getPlugin().equals("testd")) {
-			idx4 = i;
-		}
-	}
-	assertTrue("4.5 Have testa prerequisite", idx1 != -1);
-	assertTrue("4.6 Have testb prerequisite", idx2 != -1);
-	assertTrue("4.7 Have testc prerequisite", idx3 != -1);
-	assertTrue("4.8 Have testd prerequisite", idx4 != -1);
-}
-
-public void fragmentVersionTest() {
-	// Ensure that we pick up the latest version of a fragment to augment a plugin
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[4];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/plugin.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment1.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment2.xml");
-	pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment3.xml");
-	URL pluginURLs[] = new URL[4];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHH81DPluginTest");
-	assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("5.1 Got the right plugin", plugin.getId().equals("PR1GHH81DPluginTest"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("5.2 Three fragments", fragmentList.length == 3);
-	
-	// Now make sure that the resulting plugin descriptor picked up only the latest
-	// version of the fragment. This means there should be a total of 5 library entries:
-	// lib1, lib2, lib5, lib6, and lib7.
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue ("5.3 Got 5 libraries", libraries.length == 5);
-	int idx1 = -1;
-	int idx2 = -1;
-	int idx5 = -1;
-	int idx6 = -1;
-	int idx7 = -1;
-	for (int i = 0; i < libraries.length; i++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			idx1 = i;
-		} else if (libraries[i].getName().equals("lib2.jar")) {
-			idx2 = i;
-		} else if (libraries[i].getName().equals("lib5.jar")) {
-			idx5 = i;
-		} else if (libraries[i].getName().equals("lib6.jar")) {
-			idx6 = i;
-		} else if (libraries[i].getName().equals("lib7.jar")) {
-			idx7 = i;
-		}
-	}
-	assertTrue("5.4 Have lib1.jar library", idx1 != -1);
-	assertTrue("5.5 Have lib2.jar library", idx2 != -1);
-	assertTrue("5.6 Have lib5.jar library", idx5 != -1);
-	assertTrue("5.7 Have lib6.jar library", idx6 != -1);
-	assertTrue("5.8 Have lib7.jar library", idx7 != -1);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
deleted file mode 100644
index 5210067..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
+++ /dev/null
@@ -1,2105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.io.*;
-import junit.framework.*;
-import org.xml.sax.*;
-
-public class BasicXMLTest extends EclipseWorkspaceTest {
-	PluginDescriptor plugin = null;
-	PluginRegistry registry = null;
-	InternalFactory factory = null;
-public BasicXMLTest() {
-	super(null);
-}
-public BasicXMLTest(String name) {
-	super(name);
-}
-/* doParsing
- * This method will parse a series of XML files.  The input array should be
- * an array of string buffers where each string buffer is considered a complete 
- * XML file.  The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, String[] localXMLFiles) {
-
-	registry = new PluginRegistry();
-	if (localXMLFiles == null || localXMLFiles.length == 0)
-		return null;
-
-	for (int i = 0; i < localXMLFiles.length; i++) {
-		String thisXMLString = localXMLFiles[i];
-		PluginModel localPlugin = null;
-		try {
-			ByteArrayInputStream is = new ByteArrayInputStream(thisXMLString.toString().getBytes());
-			PluginParser p = new PluginParser(factory);
-			localPlugin = p.parsePlugin(new InputSource(is));
-		} catch (SAXParseException se) {
-			/* exception details logged by parser */
-			fail("1.2 SAX Parser exception encountered.", se);
-		} catch (Exception e) {
-			fail("1.3 ", e);
-		}
-		if (localPlugin instanceof PluginDescriptorModel) {
-			registry.addPlugin((PluginDescriptorModel)localPlugin);
-		} else {
-			registry.addFragment((PluginFragmentModel)localPlugin);
-		}
-		localPlugin.setRegistry(registry);
-	}
-	return registry;
-}
-public String[] extensionPointSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("First test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("first");
-	pluginExtensionPoints[0].setSchema("some schema name");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  extensionPointTest
- *  Tests to ensure we create extension point entries and populate them correctly.
- *  Note that this test will NOT ensure that we correctly link related extensions
- *  and extension points.  This will be done in a different test
- */
-public void extensionPointTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extensionPointSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-	// Check both the read-only accessors and the read-write accessors
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Requires List", pluginList[0].getRequires());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-	// Now check the same things but with the read-only accessors
-	assertEquals("2.11 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("2.12 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("2.13 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("2.14 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("2.15 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
-	assertEquals("2.16 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("2.17 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("2.18 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("2.19 Plugin Location", ROPluginList[0].getInstallURL());
-
-	// Now check the extension points
-	ExtensionPointModel[] extPtList = pluginList[0].getDeclaredExtensionPoints();
-	assertNotNull("3.1 Extension Point list null", extPtList);
-	assertEquals("3.2 Number of extension points", extPtList.length, 2);
-	IExtensionPoint[] ROExtPtList = ROPluginList[0].getExtensionPoints();
-	assertNotNull("3.1 Extension Point list null", ROExtPtList);
-	assertEquals("3.2 Number of extension points", ROExtPtList.length, 2);
-
-	ExtensionPoint[] originalExtPts = (ExtensionPoint[]) plugin.getDeclaredExtensionPoints();
-
-	// Make sure the values in this extension points are correct
-	assertEquals("4.1 Extension Point name", extPtList[0].getName(), originalExtPts[0].getName());
-	assertEquals("4.2 Extension Point id", extPtList[0].getId(), originalExtPts[0].getId());
-	assertEquals("4.3 Extension Point schema", extPtList[0].getSchema(), originalExtPts[0].getSchema());
-	assertEquals("4.4 Extension Point name", ROExtPtList[0].getLabel(), originalExtPts[0].getName());
-	assertEquals("4.5 Extension Point id", ROExtPtList[0].getSimpleIdentifier(), originalExtPts[0].getId());
-	assertEquals("4.6 Extension Point schema", ROExtPtList[0].getSchemaReference(), originalExtPts[0].getSchemaReference());
-
-	// And check the 2nd requires element too
-	assertEquals("5.1 Extension Point name", extPtList[1].getName(), originalExtPts[1].getName());
-	assertEquals("5.2 Extension Point id", extPtList[1].getId(), originalExtPts[1].getId());
-	assertEquals("5.3 Extension Point schema", extPtList[1].getSchema(), originalExtPts[1].getSchema());
-	assertEquals("5.4 Extension Point name", ROExtPtList[1].getLabel(), originalExtPts[1].getName());
-	assertEquals("5.5 Extension Point id", ROExtPtList[1].getSimpleIdentifier(), originalExtPts[1].getId());
-	assertEquals("5.6 Extension Point schema", ROExtPtList[1].getSchemaReference(), originalExtPts[1].getSchemaReference());
-
-	factory = null;
-}
-public String[] extensionSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[3];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("First Extension Point");
-
-	pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
-	pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
-	// First group of properties
-	ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
-	for (int i = 0; i < propertyGroup1.length; i++) {
-		propertyGroup1[i] = new ConfigurationProperty();
-	}
-	propertyGroup1[0].setName("id");
-	propertyGroup1[0].setValue("category_id");
-	propertyGroup1[1].setName("name");
-	propertyGroup1[1].setValue("category_name");
-	// Second group of properties
-	ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
-	for (int i = 0; i < propertyGroup2.length; i++) {
-		propertyGroup2[i] = new ConfigurationProperty();
-	}
-	propertyGroup2[0].setName("id");
-	propertyGroup2[0].setValue("wizard_id");
-	propertyGroup2[1].setName("name");
-	propertyGroup2[1].setValue("wizard_name");
-	propertyGroup2[2].setName("class");
-	propertyGroup2[2].setValue("wizard_class");
-	// Third group of properties
-	ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
-	for (int i = 0; i < propertyGroup3.length; i++) {
-		propertyGroup3[i] = new ConfigurationProperty();
-	}
-	propertyGroup3[0].setName("class");
-	propertyGroup3[0].setValue("a selection class");
-
-	// First subelement group
-	ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup1.length; i++) {
-		subElementGroup1[i] = new ConfigurationElement();
-		subElementGroup1[i].setParent(pluginExtensions[2]);
-	}
-	subElementGroup1[0].setName("category");
-	subElementGroup1[0].setProperties(propertyGroup1);
-
-	subElementGroup1[1].setName("wizard");
-	subElementGroup1[1].setProperties(propertyGroup2);
-
-	// Second subelement group
-	ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup2.length; i++) {
-		subElementGroup2[i] = new ConfigurationElement();
-		subElementGroup2[i].setParent(subElementGroup1[1]);
-	}
-	subElementGroup2[0].setName("description");
-	subElementGroup2[0].setValue("This is just a description");
-	subElementGroup2[1].setName("selection");
-	subElementGroup2[1].setProperties(propertyGroup3);
-
-	// Now link them together
-	subElementGroup1[1].setSubElements(subElementGroup2);
-	pluginExtensions[2].setSubElements(subElementGroup1);
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  extensionTest
- *  Tests to ensure we create extension entries and populate them correctly.
- *  Note that this test will NOT ensure that we correctly link related extensions
- *  and extension points.  This will be done in a different test
- */
-public void extensionTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extensionSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Requires List", pluginList[0].getRequires());
-	assertNull("2.8 Extension Point List", pluginList[0].getDeclaredExtensionPoints());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat for read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.7 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.8 Extension Point List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	// Now check the extension points
-	ExtensionModel[] extensionList = pluginList[0].getDeclaredExtensions();
-	IExtension[] ROExtensionList = ROPluginList[0].getExtensions();
-	assertNotNull("4.1 Extension list null", extensionList);
-	assertEquals("4.2 Number of extensions", extensionList.length, 3);
-	assertNotNull("4.3 Extension list null", ROExtensionList);
-	assertEquals("4.4 Number of extensions", ROExtensionList.length, 3);
-
-	ExtensionModel[] originalExtensions = plugin.getDeclaredExtensions();
-
-	// Make sure the values in this extension are correct
-	assertEquals("5.1 Extension name", extensionList[0].getName(), originalExtensions[0].getName());
-	assertEquals("5.2 Extension id", extensionList[0].getId(), originalExtensions[0].getId());
-	assertEquals("5.3 Extension extension point", extensionList[0].getExtensionPoint(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
-	assertEquals("5.4 Extension name", ROExtensionList[0].getLabel(), originalExtensions[0].getName());
-	assertEquals("5.5 Extension id", ROExtensionList[0].getSimpleIdentifier(), originalExtensions[0].getId());
-	assertEquals("5.6 Extension extension point", ROExtensionList[0].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
-
-	// And check the 2nd extension too
-	assertEquals("6.1 Extension name", extensionList[1].getName(), originalExtensions[1].getName());
-	assertEquals("6.2 Extension id", extensionList[1].getId(), originalExtensions[1].getId());
-	assertEquals("6.3 Extension extension point", extensionList[1].getExtensionPoint(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
-	assertEquals("6.4 Extension name", ROExtensionList[1].getLabel(), "");
-	assertEquals("6.5 Extension id", ROExtensionList[1].getSimpleIdentifier(), originalExtensions[1].getId());
-	assertEquals("6.6 Extension extension point", ROExtensionList[1].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
-
-	// Finally check the 3rd extension (which is the most complex)
-	assertEquals("7.1 Extension name", extensionList[2].getName(), originalExtensions[2].getName());
-	assertEquals("7.2 Extension id", extensionList[2].getId(), originalExtensions[2].getId());
-	assertEquals("7.3 Extension extension point", extensionList[2].getExtensionPoint(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
-	assertEquals("7.4 Extension name", ROExtensionList[2].getLabel(), "");
-	assertEquals("7.5 Extension id", ROExtensionList[2].getSimpleIdentifier(), originalExtensions[2].getId());
-	assertEquals("7.6 Extension extension point", ROExtensionList[2].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
-
-	// Now comes the fun part.  Check the structure that hangs off this extension
-	ConfigurationElementModel[] subElements = extensionList[2].getSubElements();
-	IConfigurationElement ROSubElements[] = ROExtensionList[2].getConfigurationElements();
-	ConfigurationElement[] originalSubElements = (ConfigurationElement[]) originalExtensions[2].getSubElements();
-	assertNotNull("8.1 First level subelements null", subElements);
-	assertEquals("8.2 Number of subelements", subElements.length, 2);
-	assertNotNull("8.3 First level subelements null", ROSubElements);
-	assertEquals("8.4 Number of subelements", ROSubElements.length, 2);
-
-	// First, there should be 2 subelements:  category and wizard
-	assertEquals("9.1 First level subelements name", subElements[0].getName(), originalSubElements[0].getName());
-	assertEquals("9.2 First level subelements name", subElements[1].getName(), originalSubElements[1].getName());
-	assertEquals("9.3 First level subelements name", ROSubElements[0].getName(), originalSubElements[0].getName());
-	assertEquals("9.4 First level subelements name", ROSubElements[1].getName(), originalSubElements[1].getName());
-
-	// Now check the first property group (off the 'category' subelement)
-	// Note there is no read-only version of a configuration property
-	ConfigurationPropertyModel[] properties = subElements[0].getProperties();
-	ConfigurationProperty[] originalProperties = (ConfigurationProperty[]) originalSubElements[0].getProperties();
-
-	// There should be 2 properties:  id and name
-	assertNotNull("10.1 Property Group 1 null", properties);
-	assertEquals("10.2 Number of properties", properties.length, 2);
-	assertEquals("10.3 Property Group 1 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("10.4 Property Group 1 - value", properties[0].getValue(), originalProperties[0].getValue());
-	assertEquals("10.5 Property Group 1 - name", properties[1].getName(), originalProperties[1].getName());
-	assertEquals("10.6 Property Group 1 - value", properties[1].getValue(), originalProperties[1].getValue());
-
-	// Check the second property group (off the 'wizard' subelement)
-	properties = subElements[1].getProperties();
-	originalProperties = (ConfigurationProperty[]) originalSubElements[1].getProperties();
-	assertNotNull("11.1 Property Group 2 null", properties);
-	assertEquals("11.2 Number of properties", properties.length, 3);
-	assertEquals("11.3 Property Group 2 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("11.4 Property Group 2 - value", properties[0].getValue(), originalProperties[0].getValue());
-	assertEquals("11.5 Property Group 2 - name", properties[1].getName(), originalProperties[1].getName());
-	assertEquals("11.6 Property Group 2 - value", properties[1].getValue(), originalProperties[1].getValue());
-	assertEquals("11.7 Property Group 2 - name", properties[2].getName(), originalProperties[2].getName());
-	assertEquals("11.8 Property Group 2 - value", properties[2].getValue(), originalProperties[2].getValue());
-
-	// The 'wizard' subelement has 2 subelements that hang off it:  description and selection
-	ConfigurationElementModel[] subElements2 = subElements[1].getSubElements();
-	ConfigurationElement[] originalSubElements2 = (ConfigurationElement[]) originalSubElements[1].getSubElements();
-	IConfigurationElement ROSubElements2[] = ROSubElements[1].getChildren();
-	assertNotNull("12.1 Second level subelements null", subElements2);
-	assertEquals("12.2 Number of subelements", subElements2.length, 2);
-	assertNotNull("12.3 Second level subelements null", ROSubElements2);
-	assertEquals("12.4 Number of subelements", ROSubElements2.length, 2);
-
-	// Check for 'description' and 'selection'
-	assertEquals("13.1 Second level subelements name", subElements2[0].getName(), originalSubElements2[0].getName());
-	assertEquals("13.2 Second level subelements value", subElements2[0].getValue(), originalSubElements2[0].getValue());
-	assertEquals("13.3 Second level subelements name", subElements2[1].getName(), originalSubElements2[1].getName());
-	assertEquals("13.4 Second level subelements name", ROSubElements2[0].getName(), originalSubElements2[0].getName());
-	assertEquals("13.5 Second level subelements value", ROSubElements2[0].getValue(), originalSubElements2[0].getValue());
-	assertEquals("13.6 Second level subelements name", ROSubElements2[1].getName(), originalSubElements2[1].getName());
-
-	// The last of the second level subelements (selection) has a single property
-	properties = subElements2[1].getProperties();
-	originalProperties = (ConfigurationProperty[]) originalSubElements2[1].getProperties();
-	assertNotNull("14.1 Property Group 3 null", properties);
-	assertEquals("14.2 Number of properties", properties.length, 1);
-	assertEquals("14.3 Property Group 3 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("14.4 Property Group 3 - value", properties[0].getValue(), originalProperties[0].getValue());
-
-	factory = null;
-}
-public String[] extExtPtLinkSetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("abc1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[4];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
-	pluginExtensions[1].setName("Second Extension");
-	pluginExtensions[1].setId("second");
-	pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
-	pluginExtensions[2].setName("Third Extension");
-	pluginExtensions[2].setId("third");
-	pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
-	pluginExtensions[3].setName("Fourth Extension");
-	pluginExtensions[3].setId("fourth");
-	pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("firstExtPt");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	pluginExtensionPoints[1].setId("secondExtPt");
-	pluginExtensionPoints[2].setName("Third Extension Point");
-	pluginExtensionPoints[2].setId("thirdExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test2");
-	plugin.setId("abc2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("Another Extension Point");
-	pluginExtensionPoints[0].setId("anotherExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[1] = plugin;
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[2];
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  extExtPtLinkTest
- *  Tests to ensure that extensions and extension points are linked correctly
- *  at registry resolve time.
- */
-public void extExtPtLinkTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extExtPtLinkSetup();
-	registry = doParsing(factory, localXMLFiles);
-	registry.resolve(true, true);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-	PluginDescriptorModel plugin1 = registry.getPlugin("abc1");
-	IPluginDescriptor ROplugin1 = registry.getPluginDescriptor("abc1");
-	PluginDescriptorModel plugin2 = registry.getPlugin("abc2");
-	IPluginDescriptor ROplugin2 = registry.getPluginDescriptor("abc2");
-	assertNotNull("1.5 Can't find plugin", plugin1);
-	assertNotNull("1.6 Can't find read only plugin", ROplugin1);
-	assertNotNull("1.7 Can't find plugin", plugin2);
-	assertNotNull("1.8 Can't find read only plugin", ROplugin2);
-
-	// All of the extensions are in the abc1 plugin.  The abc2 plugin just
-	// contained one of the extension points.
-	ExtensionPointModel[] extensionPtList = plugin1.getDeclaredExtensionPoints();
-	IExtensionPoint[] ROExtensionPtList = ROplugin1.getExtensionPoints();
-	assertNotNull("2.1 Extension point list null", extensionPtList);
-	assertNotNull("2.2 Extension point list null", ROExtensionPtList);
-	assertEquals("2.3 Extension point list length", extensionPtList.length, 3);
-	assertEquals("2.4 Extension point list length", ROExtensionPtList.length, 3);
-
-	String pluginId = plugin1.getId();
-	// Just check that the 'point' of the extension, matches the pluginId.extensionPointId
-	// pair for this particular extension point
-	for (int i = 0; i < extensionPtList.length; i++) {
-		ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
-		IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
-		assertEquals("3.1." + i + " Extension length", extension.length, 1);
-		assertEquals("3.2." + i + " Extension length", ROExtension.length, 1);
-		assertEquals("3.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
-		assertEquals("3.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
-	}
-	
-	// Now repeat for the second plugin
-	extensionPtList = plugin2.getDeclaredExtensionPoints();
-	ROExtensionPtList = ROplugin2.getExtensionPoints();
-	assertNotNull("4.1 Extension point list null", extensionPtList);
-	assertNotNull("4.2 Extension point list null", ROExtensionPtList);
-	assertEquals("4.3 Extension point list length", extensionPtList.length, 1);
-	assertEquals("4.4 Extension point list length", ROExtensionPtList.length, 1);
-	
-	pluginId = plugin2.getId();
-	for (int i = 0; i < extensionPtList.length; i++) {
-		ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
-		IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
-		assertEquals("5.1." + i + " Extension length", extension.length, 1);
-		assertEquals("5.2." + i + " Extension length", ROExtension.length, 1);
-		assertEquals("5.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
-		assertEquals("5.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
-	}
-
-	factory = null;
-}
-public String[] librarySetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Library[] pluginRuntime = new Library[2];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	String[] exportString = { "*" };
-	pluginRuntime[0].setExports(exportString);
-	pluginRuntime[1].setName("xerces.jar");
-	plugin.setRuntime(pluginRuntime);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  libraryTest
- *  Tests to ensure we create library entries and populate them correctly.
- */
-public void libraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = librarySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Requires List", pluginList[0].getRequires());
-	assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Do the same checks but for the read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.9 Plugin Intall URL", ROPluginList[0].getInstallURL());
-
-	// Now check the library elements
-	LibraryModel[] libList = pluginList[0].getRuntime();
-	ILibrary[] ROLibList = ROPluginList[0].getRuntimeLibraries();
-	assertNotNull("4.1 Library list null", libList);
-	assertEquals("4.2 Number of library elements", libList.length, 2);
-	assertNotNull("4.3 Library list null", ROLibList);
-	assertEquals("4.4 Number of library elements", ROLibList.length, 2);
-
-	LibraryModel[] originalLibList = plugin.getRuntime();
-	String[] exportList = null;
-
-	// Make sure the values in this library element are correct
-	assertEquals("5.1 Library name", libList[0].getName(), originalLibList[0].getName());
-	assertTrue("5.2 Export list", libList[0].isExported());
-	assertTrue("5.3 Fully exported list", libList[0].isFullyExported());
-	assertNotNull("5.4 Export mask", exportList = libList[0].getExports());
-	assertEquals("5.5 Number of export elements", exportList.length, 1);
-	assertEquals("5.6 Export list value", exportList[0], originalLibList[0].getExports()[0]);
-
-	// And check the 2nd library element too
-	assertEquals("6.1 Library name", libList[1].getName(), originalLibList[1].getName());
-	assertTrue("6.2 Export list", !libList[1].isExported());
-	assertTrue("6.3 Fully exported list", !libList[1].isFullyExported());
-	assertNull("6.4 Export mask", libList[1].getExports());
-
-	// Repeat the above tests for the read-only accessors
-	// Make sure the values in this library element are correct
-	assertEquals("7.1 Library name", ROLibList[0].getPath().toString(), originalLibList[0].getName());
-	assertTrue("7.2 Export list", ROLibList[0].isExported());
-	assertTrue("7.3 Fully exported list", ROLibList[0].isFullyExported());
-	// You will get null here because this is a fully exported library
-	assertNull("7.4 Export mask", exportList = ROLibList[0].getContentFilters());
-
-	// And check the 2nd library element too
-	assertEquals("8.1 Library name", ROLibList[1].getPath().toString(), originalLibList[1].getName());
-	assertTrue("8.2 Export list", !ROLibList[1].isExported());
-	assertTrue("8.3 Fully exported list", !ROLibList[1].isFullyExported());
-	assertNull("8.4 Export mask", ROLibList[1].getContentFilters());
-
-	factory = null;
-}
-public String[] pluginSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  pluginTest
- *  This is a very basic test to make sure we are parsing a very
- *  simple XML file and populating a plugin descriptor correctly
- */
-public void pluginTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = pluginSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertEquals("2.5 Plugin Class", plugin.getPluginClass(), pluginList[0].getPluginClass());
-	assertNull("2.6 Requires List", pluginList[0].getRequires());
-	assertNull("2.7 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.8 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.9 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.10 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.11 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat these tests with the read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-	//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.8 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.9 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.10 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	factory = null;
-}
-public String[] PR1GBZ0AWSetup1() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[3];
-	for (int i = 0; i < pluginList.length; i++) {
-		pluginList[i] = new PluginDescriptor();
-	}
-	pluginList[0].setName("Top level plugin");
-	pluginList[0].setId("one.two.three");
-	pluginList[0].setVersion("1.0.0");
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[0].setRequires(pluginRequires);
-
-	pluginList[1].setName("First Circular plugin");
-	pluginList[1].setId("com.ibm.dav4j");
-	pluginList[1].setVersion("1.0.0");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("a.b.c");
-	pluginList[1].setRequires(pluginRequires);
-
-	pluginList[2].setName("A final test2");
-	pluginList[2].setId("a.b.c");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[2].setRequires(pluginRequires);
-	pluginList[2].setVersion("1.0.0");
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[3];
-
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-public String[] PR1GBZ0AWSetup2() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	for (int i = 0; i < pluginList.length; i++) {
-		pluginList[i] = new PluginDescriptor();
-	}
-	pluginList[0].setName("First Circular plugin");
-	pluginList[0].setId("com.ibm.dav4j");
-	pluginList[0].setVersion("1.0.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("a.b.c");
-	pluginList[0].setRequires(pluginRequires);
-
-	pluginList[1].setName("A final test2");
-	pluginList[1].setId("a.b.c");
-	pluginList[1].setVersion("1.0.0");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[1].setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[2];
-
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  PR1GBZ0AWTest1
- *  Tests to ensure we have solved this PR.  This PR indicates a stack overflow will occur
- *  if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = PR1GBZ0AWSetup1();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now do the resolve.  This is where the stack overflow would occur
-	registry.resolve(true, true);
-
-	// There should be no plugins in the registry
-	pluginList = registry.getPlugins();
-	assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
-	factory = null;
-}
-/*  PR1GBZ0AWTest2
- *  Tests to ensure we have solved this PR.  This PR indicates a stack overflow will occur
- *  if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = PR1GBZ0AWSetup2();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now do the resolve.  This is where the stack overflow would occur
-	registry.resolve(true, true);
-
-	// There should be no plugins in the registry
-	pluginList = registry.getPlugins();
-	// DDW **NOTE** This test currently fails
-	// assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
-	factory = null;
-}
-/*  readOnlyConfigurationElement
- *  This method ensures that once the registry is marked as read-only, configuration
- *  elements in the registry cannot be written to.  This method is called as part of
- *  the test readOnlyTest.
- */
-public void readOnlyConfigurationElement(ConfigurationElement subElement) {
-	// Check to ensure we cannot write to the configuration elements
-	assertTrue("7.1 Configuration Element marked", subElement.isReadOnly());
-	// Now check all methods that can write to a ConfigurationElement
-	try {
-		subElement.setName("name");
-		assertTrue("7.2 ConfigurationElement - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		subElement.setParent(new PluginDescriptor());
-		assertTrue("7.3 ConfigurationElement - setParent", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		subElement.setProperties(new ConfigurationPropertyModel[1]);
-		assertTrue("7.4 ConfigurationElement - setProperties", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		subElement.setSubElements(new ConfigurationElementModel[1]);
-		assertTrue("7.5 ConfigurationElement - setSubElements", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		subElement.setValue("value");
-		assertTrue("7.6 ConfigurationElement - setValue", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-/*  readOnlyConfigurationProperty
- *  This method ensures that once the registry is marked as read-only, configuration
- *  property elements in the registry cannot be written to.  This method is called
- *  as part of the test readOnlyTest.
- */
-public void readOnlyConfigurationProperty(ConfigurationProperty property) {
-
-	// Check to ensure we cannot write to the configuration property elements
-	assertTrue("8.1 Configuration Property marked", property.isReadOnly());
-	// Now check all methods that can write to a ConfigurationProperty
-	try {
-		property.setName("name");
-		assertTrue("8.4 ConfigurationProperty - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		property.setValue("value");
-		assertTrue("8.3 ConfigurationProperty - setValue", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-/*  readOnlyExtension
- *  This method ensures that once the registry is marked as read-only, extensions
- *  in the registry cannot be written to.  This method is called as part of the test
- *  readOnlyTest.
- */
-public void readOnlyExtension(Extension extension) {
-	// Check to ensure we cannot write to the extension elements
-	assertTrue("6.1 Extension marked", extension.isReadOnly());
-	// Now check all methods that can write to an Extension
-	try {
-		extension.setName("name");
-		assertTrue("6.2 Plugin - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extension.setExtensionPoint("extensionPoint");
-		assertTrue("6.3 Extension - setExtensionPoint", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extension.setId("id");
-		assertTrue("6.4 Extension - setId", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extension.setParentPluginDescriptor(new PluginDescriptor());
-		assertTrue("6.5 Extension - setParentPluginDescriptor", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extension.setSubElements(new ConfigurationElementModel[1]);
-		assertTrue("6.6 Extension - setSubElements", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-/*  readOnlyExtensionPoints
- *  This method ensures that once the registry is marked as read-only, extension
- *  points in the registry cannot be written to.  This method is called as part
- *  of the test readOnlyTest.
- */
-public void readOnlyExtensionPoint(ExtensionPoint extensionPoint) {
-	// Check to ensure we cannot write to the extension point elements
-	assertTrue("5.1 Extension Point marked", extensionPoint.isReadOnly());
-	// Now check all methods that can write to an ExtensionPoint
-	try {
-		extensionPoint.setName("name");
-		assertTrue("5.2 Plugin - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extensionPoint.setDeclaredExtensions(new ExtensionModel[1]);
-		assertTrue("5.3 Extension Point - setDeclaredExtensions", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extensionPoint.setId("id");
-		assertTrue("5.4 Extension Point - setId", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extensionPoint.setParentPluginDescriptor(new PluginDescriptor());
-		assertTrue("5.5 Extension Point - setParentPluginDescriptor", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		extensionPoint.setSchema("schema");
-		assertTrue("5.6 Extension Point - setSchema", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-/*  readOnlyLibrary
- *  This method ensures that once the registry is marked as read-only, library
- *  elements in the registry cannot be written to.  This method is called as
- *  part of the test readOnlyTest.
- */
-public void readOnlyLibrary(Library library) {
-
-	// Now check all methods that can write to a Library
-	assertTrue("4.1 Library marked", library.isReadOnly());
-	try {
-		library.setName("name");
-		assertTrue("4.2 Plugin - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		library.setExports(new String[1]);
-		assertTrue("4.3 Library - setExports", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-
-}
-/*  readOnlyPlugin
- *  This method ensures that once the registry is marked as read-only, plugin 
- *  descriptor elements in the registry cannot be written to.  This method is
- *  called in the test readOnlyTest.
- */
-public void readOnlyPlugin(PluginDescriptor plugin) {
-	// Check to ensure we cannot write to this plugin
-	assertTrue("3.1 Plugin marked", plugin.isReadOnly());
-	// Now check all methods that can write to a PluginDescriptor
-	try {
-		plugin.setName("name");
-		assertTrue("3.2 Plugin - setName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setDeclaredExtensionPoints(new ExtensionPointModel[1]);
-		assertTrue("3.3 Plugin - setDeclaredExtensionPoints", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setDeclaredExtensions(new ExtensionModel[1]);
-		assertTrue("3.4 Plugin - setDeclaredExtensions", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setId("id");
-		assertTrue("3.5 Plugin - setId", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setLocation("location");
-		assertTrue("3.6 Plugin - setLocation", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setPluginClass("pluginClass");
-		assertTrue("3.7 Plugin - setPluginClass", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setRegistry(new PluginRegistry());
-		assertTrue("3.8 Plugin - setRegistry", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setRequires(new PluginPrerequisiteModel[1]);
-		assertTrue("3.9 Plugin - setRequires", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setRuntime(new LibraryModel[1]);
-		assertTrue("3.10 Plugin - setRuntime", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setProviderName("providerName");
-		assertTrue("3.11 Plugin - setVendorName", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		plugin.setVersion("version");
-		assertTrue("3.12 Plugin - setVersion", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-/*  readOnlyRegistry
- *  This method ensures that once the registry is marked as read-only, registry
- *  elements cannot be written to.  This method is called from the test readOnlyTest
- */
-public void readOnlyRegistry(PluginRegistry registry) {
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	// Check to ensure we cannot write to the registry
-	assertTrue("2.1 Registry marked", registry.isReadOnly());
-	// Now check all methods that can write to a PluginRegistry
-	try {
-		registry.addPlugin(pluginList[0]);
-		assertTrue("2.2 PluginRegistry - addPlugin", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		registry.removePlugin(pluginList[0].getId(), pluginList[0].getVersion());
-		assertTrue("2.3 PluginRegistry - removePlugin", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-	try {
-		registry.removePlugins(pluginList[0].getId());
-		assertTrue("2.4 PluginRegistry - removePlugins", false);
-	} catch (RuntimeException runExcept) {
-		// catch intentionally left blank.  We do get here
-		// but want to continue execution
-	}
-}
-public String[] readOnlySetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
-	plugin.setRequires(pluginRequires);
-
-	Library[] pluginRuntime = new Library[1];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	plugin.setRuntime(pluginRuntime);
-
-	Extension[] pluginExtensions = new Extension[1];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	plugin.setDeclaredExtensions(pluginExtensions);
-	ConfigurationElement[] subElements = new ConfigurationElement[1];
-	for (int i = 0; i < subElements.length; i++) {
-		subElements[i] = new ConfigurationElement();
-		subElements[i].setParent(pluginExtensions[0]);
-	}
-	subElements[0].setName("FirstSubelement");
-	ConfigurationProperty[] properties = new ConfigurationProperty[1];
-	for (int i = 0; i < properties.length; i++) {
-		properties[i] = new ConfigurationProperty();
-	}
-	properties[0].setName("FirstProperty");
-	properties[0].setValue("FirstValue");
-	subElements[0].setProperties(properties);
-	pluginExtensions[0].setSubElements(subElements);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  readOnlyTest
- *  This test ensures that once the registry is marked as read-only, elements
- *  in the registry cannot be written to
- */
-public void readOnlyTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = readOnlySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Mark the registry as readonly.  This should filter down to all elements
-	// in the registry too.
-	registry.markReadOnly();
-
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Check to ensure we cannot write to the registry
-	readOnlyRegistry(registry);
-
-	// Check to ensure we cannot write to this plugin
-	readOnlyPlugin((PluginDescriptor) pluginList[0]);
-
-	// Check to ensure we cannot write to the runtime elements
-	LibraryModel[] libraries = pluginList[0].getRuntime();
-	readOnlyLibrary((Library) libraries[0]);
-
-	// Check to ensure we cannot write to the extension point elements
-	ExtensionPointModel[] extensionPoints = pluginList[0].getDeclaredExtensionPoints();
-	readOnlyExtensionPoint((ExtensionPoint) extensionPoints[0]);
-
-	// Check to ensure we cannot write to the extension elements
-	ExtensionModel[] extensions = pluginList[0].getDeclaredExtensions();
-	readOnlyExtension((Extension) extensions[0]);
-
-	// Check to ensure we cannot write to the configuration elements
-	ConfigurationElementModel[] subElements = extensions[0].getSubElements();
-	readOnlyConfigurationElement((ConfigurationElement) subElements[0]);
-
-	// Check to ensure we cannot write to the configuration property elements
-	ConfigurationPropertyModel[] properties = subElements[0].getProperties();
-	readOnlyConfigurationProperty((ConfigurationProperty) properties[0]);
-
-	factory = null;
-}
-public String[] registrySetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3.0");
-	pluginList[1] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("2.0");
-	pluginList[2] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A Different Name");
-	plugin.setId("newId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[3] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A third name");
-	plugin.setId("thirdId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[4] = plugin;
-
-	String[] localXMLFiles = new String[pluginList.length];
-	for (int i = 0; i < pluginList.length; i++) {
-		ByteArrayOutputStream fs;
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-
-	return localXMLFiles;
-}
-/*  registryTest
- *  Tests to ensure we create plugin registries and populate them correctly.
- */
-public void registryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = registrySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertEquals("1.3 Right number of plugin descriptors", pluginList.length, localXMLFiles.length);
-	assertNotNull("1.4 Sane return value", ROPluginList);
-	assertNotNull("1.5 Sane plugin descriptor", ROPluginList[0]);
-	assertEquals("1.6 Right number of plugin descriptors", ROPluginList.length, localXMLFiles.length);
-
-	factory = null;
-}
-public String[] requiresSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[5];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
-	pluginRequires[0].setVersion("4");
-	pluginRequires[0].setExport(true);
-	pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-	pluginRequires[1].setPlugin("org.apache.xerces");
-	pluginRequires[2].setPlugin("com.ibm.eclipse.core.resources");
-	pluginRequires[2].setVersion("3");
-	pluginRequires[2].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-	pluginRequires[3].setPlugin("anotherPlugin");
-	pluginRequires[3].setVersion("1.0.0");
-	pluginRequires[3].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	pluginRequires[4].setPlugin("fifthPlugin");
-	pluginRequires[4].setVersion("2.0.1");
-	pluginRequires[4].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-	plugin.setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  requiresTest
- *  Tests to ensure we create plugin prerequisite entries and populate them correctly.
- */
-public void requiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = requiresSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat for read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	// Now check the plugin prerequisite elements
-	PluginPrerequisiteModel[] reqList = pluginList[0].getRequires();
-	IPluginPrerequisite[] ROReqList = ROPluginList[0].getPluginPrerequisites();
-	assertNotNull("4.1 Requires list null", reqList);
-	assertEquals("4.2 Number of requires elements", reqList.length, 5);
-	assertNotNull("4.3 Requires list null", ROReqList);
-	assertEquals("4.4 Number of requires elements", ROReqList.length, 5);
-
-	PluginPrerequisiteModel[] originalRequires = plugin.getRequires();
-
-	// Make sure the values in this requires element are correct
-	assertEquals("5.1 Requires plugin", reqList[0].getPlugin(), originalRequires[0].getPlugin());
-	assertEquals("5.2 Requires version", reqList[0].getVersion(), originalRequires[0].getVersion());
-	assertEquals("5.3 Requires exact match", reqList[0].getMatchByte(), originalRequires[0].getMatchByte());
-	assertTrue("5.4 Requires export", reqList[0].getExport());
-	assertEquals("5.5 Requires plugin", ROReqList[0].getUniqueIdentifier(), originalRequires[0].getPlugin());
-	assertEquals("5.6 Requires version", ROReqList[0].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[0]).getVersionIdentifier());
-	assertTrue("5.7 Requires greater or equal match", ROReqList[0].isMatchedAsGreaterOrEqual());
-	assertTrue("5.8 Requires greater or equal match (compatible)", !ROReqList[0].isMatchedAsCompatible());
-	assertTrue("5.9 Requires greater or equal match (equivalent)", !ROReqList[0].isMatchedAsEquivalent());
-	assertTrue("5.10 Requires greater or equal match (prefect)", !ROReqList[0].isMatchedAsPerfect());
-	assertTrue("5.11 Requires export", ROReqList[0].isExported());
-
-	// And check the 2nd requires element too
-	assertEquals("6.1 Requires plugin", reqList[1].getPlugin(), originalRequires[1].getPlugin());
-	assertEquals("6.2 Requires plugin", ROReqList[1].getUniqueIdentifier(), originalRequires[1].getPlugin());
-	assertEquals("6.3 Requires exact match", reqList[1].getMatchByte(), originalRequires[1].getMatchByte());
-	assertTrue("6.4 Requires unspecified match (greater or equal)", !ROReqList[1].isMatchedAsGreaterOrEqual());
-	assertTrue("6.5 Requires unspecified match (compatible)", !ROReqList[1].isMatchedAsCompatible());
-	assertTrue("6.6 Requires unspecified match (equivalent)", !ROReqList[1].isMatchedAsEquivalent());
-	assertTrue("6.7 Requires unspecified match (prefect)", !ROReqList[1].isMatchedAsPerfect());
-
-	// And the 3rd requires element
-	assertEquals("7.1 Requires plugin", reqList[2].getPlugin(), originalRequires[2].getPlugin());
-	assertEquals("7.2 Requires version", reqList[2].getVersion(), originalRequires[2].getVersion());
-	assertEquals("7.3 Requires compatible match", reqList[2].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-	assertTrue("7.4 Requires export", !reqList[2].getExport());
-	assertEquals("7.5 Requires plugin", ROReqList[2].getUniqueIdentifier(), originalRequires[2].getPlugin());
-	assertEquals("7.6 Requires version", ROReqList[2].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[2]).getVersionIdentifier());
-	assertTrue("7.7 Requires compatible match", ROReqList[2].isMatchedAsCompatible());
-	assertTrue("7.8 Requires compatible match (greater or equal)", !ROReqList[2].isMatchedAsGreaterOrEqual());
-	assertTrue("7.9 Requires compatible match (equivalent)", !ROReqList[2].isMatchedAsEquivalent());
-	assertTrue("7.10 Requires compatible match (prefect)", !ROReqList[2].isMatchedAsPerfect());
-	assertTrue("7.11 Requires export", !ROReqList[2].isExported());
-
-	// And the 4th requires element
-	assertEquals("8.1 Requires plugin", reqList[3].getPlugin(), originalRequires[3].getPlugin());
-	assertEquals("8.2 Requires version", reqList[3].getVersion(), originalRequires[3].getVersion());
-	assertEquals("8.3 Requires equivalent match", reqList[3].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	assertTrue("8.4 Requires export", !reqList[3].getExport());
-	assertEquals("8.5 Requires plugin", ROReqList[3].getUniqueIdentifier(), originalRequires[3].getPlugin());
-	assertEquals("8.6 Requires version", ROReqList[3].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[3]).getVersionIdentifier());
-	assertTrue("8.7 Requires equivalent match", ROReqList[3].isMatchedAsEquivalent());
-	assertTrue("8.8 Requires equivalent match (greater or equal)", !ROReqList[3].isMatchedAsGreaterOrEqual());
-	assertTrue("8.9 Requires equivalent match (compatible)", !ROReqList[3].isMatchedAsCompatible());
-	assertTrue("8.10 Requires equivalent match (prefect)", !ROReqList[3].isMatchedAsPerfect());
-	assertTrue("8.11 Requires export", !ROReqList[3].isExported());
-
-	// And the 5th and final requires element
-	assertEquals("7.1 Requires plugin", reqList[4].getPlugin(), originalRequires[4].getPlugin());
-	assertEquals("7.2 Requires version", reqList[4].getVersion(), originalRequires[4].getVersion());
-	assertEquals("7.3 Requires perfect match", reqList[4].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-	assertTrue("7.4 Requires export", !reqList[4].getExport());
-	assertEquals("7.5 Requires plugin", ROReqList[4].getUniqueIdentifier(), originalRequires[4].getPlugin());
-	assertEquals("7.6 Requires version", ROReqList[4].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[4]).getVersionIdentifier());
-	assertTrue("7.7 Requires perfect match", ROReqList[4].isMatchedAsPerfect());
-	assertTrue("7.8 Requires perfect match (greater or equal)", !ROReqList[4].isMatchedAsGreaterOrEqual());
-	assertTrue("7.9 Requires perfect match (compatible)", !ROReqList[4].isMatchedAsCompatible());
-	assertTrue("7.10 Requires perfect match (equivalent)", !ROReqList[4].isMatchedAsEquivalent());
-	assertTrue("7.11 Requires export", !ROReqList[4].isExported());
-
-	factory = null;
-}
-public String[][] pluginRequiresSetup() {
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[3][1];
-	
-	// Create a plugin with no name
-	plugin = new PluginDescriptor();
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	plugin.setPluginClass("someclass");
-
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-	
-	// Create a plugin with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("someName");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	plugin.setPluginClass("someclass");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-	
-	// Create a plugin with no version
-	plugin = new PluginDescriptor();
-	plugin.setName("someName");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setPluginClass("someclass");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][0] = fs.toString();
-	
-	return localXMLFiles;
-}
-public void allRequiresHelper(InternalFactory factory, String[][] localXMLFiles, String errorPrefix, boolean fragmentTest) {
-	if (localXMLFiles == null)
-		return;
-	String[] currentParseString;
-	for (int i = 0; i < localXMLFiles.length; i++) {
-		// We have made no attempt to create a hierarchy of
-		// plugins for this test.  We have just created a
-		// bunch of plugins, each with a missing 'required'
-		// field.  If we try to create and resolve one registry
-		// with all of these plugins, the resolver will be 
-		// unable to determine a root plugin and will fail.
-		// Therefore, create a separate registry for each plugin
-		// and resolve it separate from the other plugins.
-		currentParseString = localXMLFiles[i];
-		registry = doParsing(factory, currentParseString);
-		// Don't trim the disabled plugins
-		IStatus resolveStatus = registry.resolve(false, true);
-		assertTrue(errorPrefix + ".0." + i + " Resolve - " + resolveStatus.getMessage(), !resolveStatus.isOK());
-	
-		// The plugin should be disabled
-		PluginDescriptorModel[] pluginList = registry.getPlugins();
-		assertNotNull (errorPrefix + ".1." + i + " No plugins", pluginList);
-		assertEquals (errorPrefix + ".2." + i + " Not 1 plugin only", pluginList.length, 1);
-		if (fragmentTest) {
-			// The plugin won't be disabled but it should not have
-			// a fragment.
-			assertNull(errorPrefix + ".3." + i + " Fragment exists", pluginList[0].getFragments());
-		} else {
-			assertTrue(errorPrefix + ".4." + i + " Plugin enabled", !pluginList[0].getEnabled());
-		}
-	}
-}
-/*  allRequiresTest
- *  Test to ensure that plugins, etc. missing any of the required
- *  components are disabled.
- */
-public void allRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[][] localXMLFiles = pluginRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "1", false);
-	localXMLFiles = fragmentRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "2", true);
-	localXMLFiles = requiresRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "3", false);
-	localXMLFiles = libraryRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "4", false);
-	localXMLFiles = extensionRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "5", false);
-	localXMLFiles = extensionPointRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "6", false);
-}
-public String[][] fragmentRequiresSetup() {
-	FragmentDescriptor fragment;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[5][2];
-
-	// Create a fragment with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][1] = fs.toString();
-	
-	// Create a fragment with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][1] = fs.toString();
-	
-	// Create a fragment with no version
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][1] = fs.toString();
-	
-	// Create a fragment with no plugin
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[3][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[3][1] = fs.toString();
-	
-	// Create a fragment with no plugin version
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[4][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[4][1] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] requiresRequiresSetup() {
-	PluginPrerequisite requires;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	PluginPrerequisite[] requiresList = new PluginPrerequisite[1];
-
-	// Create a prerequisite with no plugin
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	requires = new PluginPrerequisite();
-	requires.setVersion("2.2");
-	requires.setOptional(true);
-	requires.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	requires.setExport(true);
-	requiresList[0] = requires;
-	plugin.setRequires(requiresList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] extensionRequiresSetup() {
-	Extension extension;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	Extension[] extensionList = new Extension[1];
-
-	// Create an extension with no point
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extension = new Extension();
-	extension.setName("extensionName");
-	extension.setId("extensionId");
-	extensionList[0] = extension;
-	plugin.setDeclaredExtensions(extensionList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] extensionPointRequiresSetup() {
-	ExtensionPoint extensionPoint;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[2][1];
-	ExtensionPoint[] extensionPointList = new ExtensionPoint[1];
-
-	// Create an extension point with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extensionPoint = new ExtensionPoint();
-	extensionPoint.setId("extensionPointId");
-	extensionPoint.setSchema("schema");
-	extensionPointList[0] = extensionPoint;
-	plugin.setDeclaredExtensionPoints(extensionPointList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	// Create an extension point with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extensionPoint = new ExtensionPoint();
-	extensionPoint.setName("extensionPointName");
-	extensionPoint.setSchema("schema");
-	extensionPointList = new ExtensionPoint[1];
-	extensionPointList[0] = extensionPoint;
-	plugin.setDeclaredExtensionPoints(extensionPointList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] libraryRequiresSetup() {
-	Library library;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	Library[] libraryList = new Library[1];
-
-	// Create a library with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	library = new Library();
-	String[] exportList = new String[1];
-	String exportString = new String("*");
-	exportList[0] = exportString;
-	library.setExports(exportList);
-	libraryList[0] = library;
-	plugin.setRuntime(libraryList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite1Setup() {
-	// Create a plugin with one prerequisite which
-	// does not exist.  This should NOT resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[1];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq1");
-	plugin.setId("softPrereqId1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite2Setup() {
-	// Create a plugin with one prerequisite which
-	// has a prerequisite which does not exist.
-	// This should NOT resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[2];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq2");
-	plugin.setId("softPrereqId2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("softPrereqExists");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	plugin = new PluginDescriptor();
-	plugin.setName("firstPrereq");
-	plugin.setId("softPrereqExists");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite3Setup() {
-	// Create a plugin with one prerequisite which
-	// does not exist but which is optional.
-	// This SHOULD resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[1];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq3");
-	plugin.setId("softPrereqId3");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite4Setup() {
-	// Create a plugin with one prerequisite which
-	// has a prerequisite which does not exist but which is
-	// optional.  This SHOULD resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[2];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq4");
-	plugin.setId("softPrereqId4");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("softPrereqExists");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	plugin = new PluginDescriptor();
-	plugin.setName("firstPrereq");
-	plugin.setId("softPrereqExists");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-
-	return localXMLFiles;
-}
-public void allPrerequisiteHelper(InternalFactory factory, String[] localXMLFiles, String errorPrefix, boolean shouldResolve) {
-	if (localXMLFiles == null)
-		return;
-	registry = doParsing(factory, localXMLFiles);
-	IStatus resolveStatus = registry.resolve(true, true);
-	if (shouldResolve) {
-		// This registry should resolve fine.
-		assertTrue(errorPrefix + " Resolve - " + resolveStatus.getMessage(), resolveStatus.isOK());
-	} else {
-		// This registry should NOT resolve
-		assertTrue(errorPrefix + " Resolve worked", !resolveStatus.isOK());
-	}
-	
-}
-public void allPrerequisiteTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	// One plugin with non-existant prerequisite - not optional
-	String[] localXMLFiles = softPrerequisite1Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "1", false);
-	// 2 nested plugins with non-existant prereq on one - not optional
-	localXMLFiles = softPrerequisite2Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "2", false);
-	// 1 plugin with non-existant prereq - optional
-	localXMLFiles = softPrerequisite3Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "3", true);
-	// 2 nested plugins with non-existant prereq on one - optional
-	localXMLFiles = softPrerequisite4Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "4", true);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new BasicXMLTest("registryTest"));
-	suite.addTest(new BasicXMLTest("pluginTest"));
-	suite.addTest(new BasicXMLTest("libraryTest"));
-	suite.addTest(new BasicXMLTest("requiresTest"));
-	suite.addTest(new BasicXMLTest("extensionPointTest"));
-	suite.addTest(new BasicXMLTest("extensionTest"));
-	suite.addTest(new BasicXMLTest("readOnlyTest"));
-	suite.addTest(new BasicXMLTest("extExtPtLinkTest"));
-	suite.addTest(new BasicXMLTest("PR1GBZ0AWTest1"));
-	suite.addTest(new BasicXMLTest("PR1GBZ0AWTest2"));
-	suite.addTest(new BasicXMLTest("allRequiresTest"));
-	// suite.addTest(new BasicXMLTest("allPrerequisiteTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
deleted file mode 100644
index 25acba7..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.tests.harness.*;
-/**
- */
-public class CircularTest extends EclipseWorkspaceTest {
-
-public CircularTest() {
-	super(null);
-}
-public CircularTest(String name) {
-	super(name);
-}
-public void fullCircle() {
-	
-	// Test a situation where there is a circular dependency that
-	// includes the root plugin
-
-	String errorMessage = "Unable to resolve plug-in registry.";
-		
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "circularTestProblems", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPath = new String[2];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.a.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.b.xml");
-	URL pluginURLs[] = new URL[2];
-	URL pURL = null;
-	for (int i = 0; i < pluginPath.length; i++) {
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath[i], true);
-		}
-		pluginURLs[i] = pURL;
-		pURL = null;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	// Now make sure we got some error reporting here
-	assertTrue("1.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
-}
-
-public void partCircle() {
-	
-	// Test a situation where there is a circular dependency
-	// just below the root plugin (so the root is not part
-	// of the circle).
-	
-	String errorMessage = "Detected prerequisite loop from \"tests.a\" to \"tests.b\".";
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "circularTestProblems", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPath = new String[3];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.a.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.b.xml");
-	pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.top.xml");
-	URL pluginURLs[] = new URL[3];
-	URL pURL = null;
-	for (int i = 0; i < pluginPath.length; i++) {
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath[i], true);
-		}
-		pluginURLs[i] = pURL;
-		pURL = null;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("2.0", pluginDescriptors.length, 0);
-	assertTrue("2.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new CircularTest("fullCircle"));
-	suite.addTest(new CircularTest("partCircle"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
deleted file mode 100644
index 3bb4a5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_1 extends PluginResolveTest {
-public ConflictResolveTest_1() {
-	super(null);
-}
-public ConflictResolveTest_1(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.1/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a - should not exist as it caused the conflict
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	
-	// look for tests.b - there should be 0
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 0);
-	
-	// look for tests.c - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_1("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
deleted file mode 100644
index c99eaef..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_2 extends PluginResolveTest {
-public ConflictResolveTest_2() {
-	super(null);
-}
-public ConflictResolveTest_2(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.2/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a - should not exist as it caused the conflict
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	
-	// look for tests.b - there should be 0
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 0);
-	
-	// look for tests.c - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_2("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
deleted file mode 100644
index e79f574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_3 extends PluginResolveTest {
-public ConflictResolveTest_3() {
-	super(null);
-}
-public ConflictResolveTest_3(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.3/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_3("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
deleted file mode 100644
index e47241e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_4 extends PluginResolveTest {
-public ConflictResolveTest_4() {
-	super(null);
-}
-public ConflictResolveTest_4(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.4/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_4("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
deleted file mode 100644
index b30249c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_5 extends PluginResolveTest {
-public ConflictResolveTest_5() {
-	super(null);
-}
-public ConflictResolveTest_5(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.5/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_5("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
deleted file mode 100644
index efff5ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_6 extends PluginResolveTest {
-public ConflictResolveTest_6() {
-	super(null);
-}
-public ConflictResolveTest_6(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.6/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_6("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
deleted file mode 100644
index 74b19b2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-/**
- */
-public class ConflictResolveTest_7 extends PluginResolveTest {
-public ConflictResolveTest_7() {
-	super(null);
-}
-public ConflictResolveTest_7(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.7/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 6);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	// look for tests.e
-	pluginDescriptors = registry.getPluginDescriptors("tests.e");
-	assertEquals("5.0", pluginDescriptors.length, 1);
-	assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.e");
-	assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	// look for tests.f
-	pluginDescriptors = registry.getPluginDescriptors("tests.f");
-	assertEquals("6.0", pluginDescriptors.length, 1);
-	assertEquals("6.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.f");
-	assertEquals("6.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ConflictResolveTest_7("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
deleted file mode 100644
index 78869ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
+++ /dev/null
@@ -1,895 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class ExtensiveFragmentTest extends EclipseWorkspaceTest {
-
-public ExtensiveFragmentTest() {
-	super(null);
-}
-
-public ExtensiveFragmentTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	// test extension points
-	suite.addTest(new ExtensiveFragmentTest("extensionPoint1Test"));
-	suite.addTest(new ExtensiveFragmentTest("extensionPoint2Test"));
-	suite.addTest(new ExtensiveFragmentTest("extensionPoint3Test"));
-	suite.addTest(new ExtensiveFragmentTest("extensionPoint4Test"));
-	suite.addTest(new ExtensiveFragmentTest("extensionPoint5Test"));
-	// test extensions
-	suite.addTest(new ExtensiveFragmentTest("extension1Test"));
-	suite.addTest(new ExtensiveFragmentTest("extension2Test"));
-	suite.addTest(new ExtensiveFragmentTest("extension3Test"));
-	suite.addTest(new ExtensiveFragmentTest("extension4Test"));
-	suite.addTest(new ExtensiveFragmentTest("extension5Test"));
-	// test libraries
-	suite.addTest(new ExtensiveFragmentTest("library1Test"));
-	suite.addTest(new ExtensiveFragmentTest("library2Test"));
-	suite.addTest(new ExtensiveFragmentTest("library3Test"));
-	suite.addTest(new ExtensiveFragmentTest("library4Test"));
-	suite.addTest(new ExtensiveFragmentTest("library5Test"));
-	// test prerequisites
-	suite.addTest(new ExtensiveFragmentTest("requires1Test"));
-	suite.addTest(new ExtensiveFragmentTest("requires2Test"));
-	suite.addTest(new ExtensiveFragmentTest("requires3Test"));
-	suite.addTest(new ExtensiveFragmentTest("requires4Test"));
-	suite.addTest(new ExtensiveFragmentTest("requires5Test"));
-	return suite;
-}
-
-public void extensionPoint1Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("1.1 Got the right plugin", plugin.getId().equals("extensionPoint1Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("1.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("1.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint1Test"));
-	
-	// Now make sure we got all 3 extension points
-	ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
-	assertTrue("1.4 Got 3 extension points", extPts.length == 3);
-	assertNotNull("1.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
-	assertNotNull("1.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
-	assertNotNull("1.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint2Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("2.1 Got the right plugin", plugin.getId().equals("extensionPoint2Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("2.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("2.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint2Test"));
-	
-	// Now make sure we got 1 extension point
-	ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
-	assertTrue("2.4 Got 1 extension point", extPts.length == 1);
-	assertNotNull("2.5 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint3Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("3.1 Got the right plugin", plugin.getId().equals("extensionPoint3Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("3.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("3.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint3Test"));
-	
-	// Now make sure we got all 2 extension points
-	ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
-	assertTrue("3.4 Got 2 extension points", extPts.length == 2);
-	assertNotNull("3.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
-	assertNotNull("3.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
-}
-
-public void extensionPoint4Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("4.1 Got the right plugin", plugin.getId().equals("extensionPoint4Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("4.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("4.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint4Test"));
-	
-	// Now make sure we got all 2 extension points
-	ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
-	assertTrue("4.4 Got 2 extension points", extPts.length == 2);
-	assertNotNull("4.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
-	assertNotNull("4.6 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint5Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("5.1 Got the right plugin", plugin.getId().equals("extensionPoint5Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("5.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("5.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint5Test"));
-	
-	// Now make sure we got all 8 extension points
-	ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
-	assertTrue("5.4 Got 8 extension points", extPts.length == 8);
-	assertNotNull("5.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
-	assertNotNull("5.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
-	assertNotNull("5.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-	assertNotNull("5.8 Got xpt4 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt4"));
-	assertNotNull("5.9 Got xpt5 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt5"));
-	assertNotNull("5.10 Got xpt6 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt6"));
-	assertNotNull("5.11 Got xpt7 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt7"));
-	assertNotNull("5.12 Got xpt8 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt8"));
-}
-
-public void extension1Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension1Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("6.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("6.1 Got the right plugin", plugin.getId().equals("extension1Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("6.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("6.3 Got the right fragment", fragment.getId().equals("fragmentExtension1Test"));
-	
-	// Now make sure we got all 3 extensions
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("6.4 Got 3 extensions", extensions.length == 3);
-	assertNotNull("6.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
-	assertNotNull("6.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
-	assertNotNull("6.7 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension2Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension2Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("7.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("7.1 Got the right plugin", plugin.getId().equals("extension2Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("7.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("7.3 Got the right fragment", fragment.getId().equals("fragmentExtension2Test"));
-	
-	// Now make sure we got 1 extension
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("7.4 Got 1 extension", extensions.length == 1);
-	assertNotNull("7.5 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension3Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension3Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("8.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("8.1 Got the right plugin", plugin.getId().equals("extension3Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("8.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("8.3 Got the right fragment", fragment.getId().equals("fragmentExtension3Test"));
-	
-	// Now make sure we got all 2 extensions
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("8.4 Got 2 extensions", extensions.length == 2);
-	assertNotNull("8.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
-	assertNotNull("8.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
-}
-
-public void extension4Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension4Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("9.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("9.1 Got the right plugin", plugin.getId().equals("extension4Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("9.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("9.3 Got the right fragment", fragment.getId().equals("fragmentExtension4Test"));
-	
-	// Now make sure we got all 2 extensions
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("9.4 Got 2 extensions", extensions.length == 2);
-	assertNotNull("9.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
-	assertNotNull("9.6 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension5Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension5Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("10.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("10.1 Got the right plugin", plugin.getId().equals("extension5Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("10.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("10.3 Got the right fragment", fragment.getId().equals("fragmentExtension5Test"));
-	
-	// Now make sure we got all 8 extensions
-	ExtensionModel[] extensions = plugin.getDeclaredExtensions();
-	assertTrue("10.4 Got 8 extensions", extensions.length == 8);
-	assertNotNull("10.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
-	assertNotNull("10.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
-	assertNotNull("10.7 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-	assertNotNull("10.8 Got xpt4 extension", ((IPluginDescriptor)plugin).getExtension("xpt4"));
-	assertNotNull("10.9 Got xpt5 extension", ((IPluginDescriptor)plugin).getExtension("xpt5"));
-	assertNotNull("10.10 Got xpt6 extension", ((IPluginDescriptor)plugin).getExtension("xpt6"));
-	assertNotNull("10.11 Got xpt7 extension", ((IPluginDescriptor)plugin).getExtension("xpt7"));
-	assertNotNull("10.12 Got xpt8 extension", ((IPluginDescriptor)plugin).getExtension("xpt8"));
-}
-
-public void library1Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library1Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("11.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("11.1 Got the right plugin", plugin.getId().equals("library1Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("11.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("11.3 Got the right fragment", fragment.getId().equals("fragmentLibrary1Test"));
-	
-	// Now make sure we got all 3 libraries
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("11.4 Got 3 libraries", libraries.length == 3);
-	int lib1Idx = -1;
-	int lib2Idx = -1;
-	int lib3Idx = -1;
-	for (int i = 0; i < libraries.length; i++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			lib1Idx = i;
-		} else if (libraries[i].getName().equals("lib2.jar")) {
-			lib2Idx = i;
-		} else if (libraries[i].getName().equals("lib3.jar")) {
-			lib3Idx = i;
-		}
-	}
-	assertTrue("11.5 Got lib1 library", lib1Idx != -1);
-	assertTrue("11.6 Got lib2 library", lib2Idx != -1);
-	assertTrue("11.7 Got lib3 library", lib3Idx != -1);
-}
-
-public void library2Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library2Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("12.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("12.1 Got the right plugin", plugin.getId().equals("library2Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("12.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("12.3 Got the right fragment", fragment.getId().equals("fragmentLibrary2Test"));
-	
-	// Now make sure we got 1 library
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("12.4 Got 1 library", libraries.length == 1);
-	assertTrue("12.5 Got lib3 library", libraries[0].getName().equals("lib3.jar"));
-}
-
-public void library3Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library3Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("13.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("13.1 Got the right plugin", plugin.getId().equals("library3Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("13.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("13.3 Got the right fragment", fragment.getId().equals("fragmentLibrary3Test"));
-	
-	// Now make sure we got all 2 libraries
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("13.4 Got 2 libraries", libraries.length == 2);
-	int lib1Idx = -1;
-	int lib2Idx = -1;
-	for (int i = 0; i < libraries.length; i ++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			lib1Idx = i;
-		} else if (libraries[i].getName().equals("lib2.jar")) {
-			lib2Idx = i;
-		}
-	}
-	assertTrue("13.5 Got lib1 library", lib1Idx != -1);
-	assertTrue("13.6 Got lib2 library", lib2Idx != -1);
-}
-
-public void library4Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library4Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("14.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("14.1 Got the right plugin", plugin.getId().equals("library4Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("14.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("14.3 Got the right fragment", fragment.getId().equals("fragmentLibrary4Test"));
-	
-	// Now make sure we got all 2 libraries
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("14.4 Got 2 libraries", libraries.length == 2);
-	int lib1Idx = -1;
-	int lib3Idx = -1;
-	for (int i = 0; i < libraries.length; i++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			lib1Idx = i;
-		} else if (libraries[i].getName().equals("lib3.jar")) {
-			lib3Idx = i;
-		}
-	}
-	assertTrue("14.5 Got lib1 library", lib1Idx != -1);
-	assertTrue("14.6 Got lib3 library", lib3Idx != -1);
-}
-
-public void library5Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[2];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library5Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("15.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("15.1 Got the right plugin", plugin.getId().equals("library5Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("15.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("15.3 Got the right fragment", fragment.getId().equals("fragmentLibrary5Test"));
-	
-	// Now make sure we got all 8 libraries
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("15.4 Got 8 libraries", libraries.length == 8);
-	int lib1Idx = -1;
-	int lib2Idx = -1;
-	int lib3Idx = -1;
-	int lib4Idx = -1;
-	int lib5Idx = -1;
-	int lib6Idx = -1;
-	int lib7Idx = -1;
-	int lib8Idx = -1;
-	for (int i = 0; i < libraries.length; i++) {
-		if (libraries[i].getName().equals("lib1.jar")) {
-			lib1Idx = i;
-		} else if (libraries[i].getName().equals("lib2.jar")) {
-			lib2Idx = i;
-		} else if (libraries[i].getName().equals("lib3.jar")) {
-			lib3Idx = i;
-		} else if (libraries[i].getName().equals("lib4.jar")) {
-			lib4Idx = i;
-		} else if (libraries[i].getName().equals("lib5.jar")) {
-			lib5Idx = i;
-		} else if (libraries[i].getName().equals("lib6.jar")) {
-			lib6Idx = i;
-		} else if (libraries[i].getName().equals("lib7.jar")) {
-			lib7Idx = i;
-		} else if (libraries[i].getName().equals("lib8.jar")) {
-			lib8Idx = i;
-		}
-	}
-	assertTrue("15.5 Got lib1 library", lib1Idx != -1);
-	assertTrue("15.6 Got lib2 library", lib2Idx != -1);
-	assertTrue("15.7 Got lib3 library", lib3Idx != -1);
-	assertTrue("15.8 Got lib4 library", lib4Idx != -1);
-	assertTrue("15.9 Got lib5 library", lib5Idx != -1);
-	assertTrue("15.10 Got lib6 library", lib6Idx != -1);
-	assertTrue("15.11 Got lib7 library", lib7Idx != -1);
-	assertTrue("15.12 Got lib8 library", lib8Idx != -1);
-}
-
-public void requires1Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[5];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires1Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
-	pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
-	pluginPaths[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
-	URL pluginURLs[] = new URL[5];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires1Test");
-	assertTrue("16.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("16.1 Got the right plugin", plugin.getId().equals("requires1Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("16.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("16.3 Got the right fragment", fragment.getId().equals("fragmentRequires1Test"));
-	
-	// Now make sure we got all 3 prerequisites
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue("16.4 Got 3 prerequisites", requires.length == 3);
-	int req1Idx = -1;
-	int req2Idx = -1;
-	int req3Idx = -1;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getPlugin().equals("plugin1")) {
-			req1Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin2")) {
-			req2Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin3")) {
-			req3Idx = i;
-		}
-	}
-	assertTrue("16.5 Got plugin1 prerequisite", req1Idx != -1);
-	assertTrue("16.6 Got plugin2 prerequisite", req2Idx != -1);
-	assertTrue("16.7 Got plugin3 prerequisite", req3Idx != -1);
-}
-
-public void requires2Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[3];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires2Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
-	URL pluginURLs[] = new URL[3];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires2Test");
-	assertTrue("17.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("17.1 Got the right plugin", plugin.getId().equals("requires2Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("17.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("17.3 Got the right fragment", fragment.getId().equals("fragmentRequires2Test"));
-	
-	// Now make sure we got 1 prerequisite
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue("17.4 Got 1 prerequisite", requires.length == 1);
-	assertTrue("17.5 Got plugin3 prerequisite", requires[0].getPlugin().equals("plugin3"));
-}
-
-public void requires3Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[4];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires3Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
-	pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
-	URL pluginURLs[] = new URL[4];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires3Test");
-	assertTrue("18.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("18.1 Got the right plugin", plugin.getId().equals("requires3Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("18.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("18.3 Got the right fragment", fragment.getId().equals("fragmentRequires3Test"));
-	
-	// Now make sure we got all 2 prerequisites
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue("18.4 Got 2 prerequisites", requires.length == 2);
-	int req1Idx = -1;
-	int req2Idx = -1;
-	for (int i = 0; i < requires.length; i ++) {
-		if (requires[i].getPlugin().equals("plugin1")) {
-			req1Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin2")) {
-			req2Idx = i;
-		}
-	}
-	assertTrue("18.5 Got plugin1 prerequisite", req1Idx != -1);
-	assertTrue("18.6 Got plugin2 prerequisite", req2Idx != -1);
-}
-
-public void requires4Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[4];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires4Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
-	pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
-	URL pluginURLs[] = new URL[4];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires4Test");
-	assertTrue("19.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("19.1 Got the right plugin", plugin.getId().equals("requires4Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("19.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("19.3 Got the right fragment", fragment.getId().equals("fragmentRequires4Test"));
-	
-	// Now make sure we got all 2 prerequisites
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue("19.4 Got 2 prerequisites", requires.length == 2);
-	int req1Idx = -1;
-	int req3Idx = -1;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getPlugin().equals("plugin1")) {
-			req1Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin3")) {
-			req3Idx = i;
-		}
-	}
-	assertTrue("19.5 Got plugin1 prerequisite", req1Idx != -1);
-	assertTrue("19.6 Got plugin3 prerequisite", req3Idx != -1);
-}
-
-public void requires5Test() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String[] pluginPaths = new String[10];
-	pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires5Test.xml");
-	pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml");
-	pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
-	pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
-	pluginPaths[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
-	pluginPaths[5] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin4.xml");
-	pluginPaths[6] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin5.xml");
-	pluginPaths[7] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin6.xml");
-	pluginPaths[8] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin7.xml");
-	pluginPaths[9] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin8.xml");
-	URL pluginURLs[] = new URL[10];
-	for (int i = 0; i < pluginURLs.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPaths[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPaths[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires5Test");
-	assertTrue("20.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("20.1 Got the right plugin", plugin.getId().equals("requires5Test"));
-	PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
-	assertTrue("20.2 Only one fragment", fragmentList.length == 1);
-	PluginFragmentModel fragment = fragmentList[0];
-	assertTrue("20.3 Got the right fragment", fragment.getId().equals("fragmentRequires5Test"));
-	
-	// Now make sure we got all 8 prerequisites
-	PluginPrerequisiteModel[] requires = plugin.getRequires();
-	assertTrue("20.4 Got 8 prerequisites", requires.length == 8);
-	int req1Idx = -1;
-	int req2Idx = -1;
-	int req3Idx = -1;
-	int req4Idx = -1;
-	int req5Idx = -1;
-	int req6Idx = -1;
-	int req7Idx = -1;
-	int req8Idx = -1;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getPlugin().equals("plugin1")) {
-			req1Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin2")) {
-			req2Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin3")) {
-			req3Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin4")) {
-			req4Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin5")) {
-			req5Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin6")) {
-			req6Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin7")) {
-			req7Idx = i;
-		} else if (requires[i].getPlugin().equals("plugin8")) {
-			req8Idx = i;
-		}
-	}
-	assertTrue("20.5 Got plugin1 prerequisite", req1Idx != -1);
-	assertTrue("20.6 Got plugin2 prerequisite", req2Idx != -1);
-	assertTrue("20.7 Got plugin3 prerequisite", req3Idx != -1);
-	assertTrue("20.8 Got plugin4 prerequisite", req4Idx != -1);
-	assertTrue("20.9 Got plugin5 prerequisite", req5Idx != -1);
-	assertTrue("20.10 Got plugin6 prerequisite", req6Idx != -1);
-	assertTrue("20.11 Got plugin7 prerequisite", req7Idx != -1);
-	assertTrue("20.12 Got plugin8 prerequisite", req8Idx != -1);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
deleted file mode 100644
index 37993ef..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class ExtensiveLibraryTest extends EclipseWorkspaceTest {
-
-public ExtensiveLibraryTest() {
-	super(null);
-}
-
-public ExtensiveLibraryTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ExtensiveLibraryTest("noLibraryTest"));
-	suite.addTest(new ExtensiveLibraryTest("oneLibraryTest"));
-	suite.addTest(new ExtensiveLibraryTest("oneLibraryOneExportTest"));
-	suite.addTest(new ExtensiveLibraryTest("multiLibraryOneExportTest"));
-	suite.addTest(new ExtensiveLibraryTest("multiLibraryMultiExportTest"));
-	suite.addTest(new ExtensiveLibraryTest("emptyLibraryTest"));
-	return suite;
-}
-
-public void noLibraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("1.1 Got the right plugin", plugin.getId().equals("noLibraryTest"));
-	assertNull("1.2 No library entries", plugin.getRuntime());
-}
-
-public void oneLibraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("2.1 Got the right plugin", plugin.getId().equals("oneLibraryTest"));
-	assertTrue("2.2 One library entry", plugin.getRuntime().length == 1);
-	LibraryModel library = (LibraryModel)plugin.getRuntime()[0];
-	assertTrue("2.3 Got the right library", library.getName().equals("lib1.jar"));
-	assertNull("2.4 No exports", library.getExports());
-}
-
-public void oneLibraryOneExportTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath[] = new String[2];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml");
-	URL pluginURLs[] = new URL[2];
-	for (int i = 0; i < pluginPath.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath[i], true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("3.0 Two plugins", pluginDescriptors.length == 2);
-
-	// Check out the first library which should be fully exported ("*" as the export list)
-	IPluginDescriptor[] pluginArray = registry.getPluginDescriptors("oneLibraryOneExport1Test");
-	assertTrue("3.1 Got the right plugin", pluginArray.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
-	assertTrue("3.2 One library entry", plugin.getRuntime().length == 1);
-	LibraryModel library = (LibraryModel)plugin.getRuntime()[0];
-	assertTrue("3.3 Got the right library", library.getName().equals("lib2.jar"));
-	assertTrue("3.4 Exported", library.isExported());
-	assertTrue("3.5 Fully exported", library.isFullyExported());
-
-	// Check out the second library which should be not be fully exported
-	pluginArray = registry.getPluginDescriptors("oneLibraryOneExport2Test");
-	assertTrue("3.6 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	assertTrue("3.7 One library entry", plugin.getRuntime().length == 1);
-	library = (LibraryModel)plugin.getRuntime()[0];
-	assertTrue("3.8 Got the right library", library.getName().equals("lib2.jar"));
-	assertTrue("3.9 Exported", library.isExported());
-	assertTrue("3.10 Not fully exported", !library.isFullyExported());
-}
-
-public void multiLibraryOneExportTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("4.1 Got the right plugin", plugin.getId().equals("multiLibraryOneExportTest"));
-	LibraryModel libraryArray[] = plugin.getRuntime(); 
-	assertTrue("4.2 Got 3 library entries", libraryArray.length == 3);
-	
-	// Check out the libraries individually
-	// First library should be "lib1.jar" with no exports
-	LibraryModel library = libraryArray[0];
-	assertTrue("4.3 Got the right library", library.getName().equals("lib1.jar"));
-	assertNull("4.4 No exports", library.getExports());
-	assertTrue("4.5 Not exported", !library.isExported());
-	assertTrue("4.6 Not fully exported", !library.isFullyExported());
-	
-	// Second library should be "lib2.jar" and be fully exported
-	library = libraryArray[1];
-	assertTrue("4.7 Got the right library", library.getName().equals("lib2.jar"));
-	assertTrue("4.8 Exported", library.isExported());
-	assertTrue("4.9 Fully exported", library.isFullyExported());
-	// Check the export list too
-	String exportList[] = library.getExports();
-	assertTrue("4.10 Only one export", exportList.length == 1);
-	assertTrue("4.11 Fully exported mask", exportList[0].equals("*"));
-
-	// Third library should be "lib3.jar" and be exported with the export
-	// mask containing only "a.b.C"
-	library = libraryArray[2];
-	assertTrue("4.12 Got the right library", library.getName().equals("lib3.jar"));
-	assertTrue("4.13 Exported", library.isExported());
-	assertTrue("4.14 Not fully exported", !library.isFullyExported());
-	// Now check the export list
-	exportList = library.getExports();
-	assertTrue("4.15 Only one export", exportList.length == 1);
-	assertTrue("4.16 Exported mask", exportList[0].equals("a.b.C"));
-}
-
-public void multiLibraryMultiExportTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("5.1 Got the right plugin", plugin.getId().equals("multiLibraryMultiExportTest"));
-	LibraryModel libraryArray[] = plugin.getRuntime(); 
-	assertTrue("5.2 Got 3 library entries", libraryArray.length == 3);
-	
-	// Check out the libraries individually
-	// First library should be "lib1.jar" with no exports
-	LibraryModel library = libraryArray[0];
-	assertTrue("5.3 Got the right library", library.getName().equals("lib1.jar"));
-	assertNull("5.4 No exports", library.getExports());
-	assertTrue("5.5 Not exported", !library.isExported());
-	assertTrue("5.6 Not fully exported", !library.isFullyExported());
-	
-	// Second library should be "lib2.jar" and be fully exported
-	library = libraryArray[1];
-	assertTrue("5.7 Got the right library", library.getName().equals("lib2.jar"));
-	assertTrue("5.8 Exported", library.isExported());
-	assertTrue("5.9 Fully exported", library.isFullyExported());
-	// Check the export list too
-	String exportList[] = library.getExports();
-	assertTrue("5.10 Three exports", exportList.length == 3);
-	assertTrue("5.11 Mask[0]", exportList[0].equals("a"));
-	assertTrue("5.12 Mask[1]", exportList[1].equals("*"));
-	assertTrue("5.13 Mask[2]", exportList[2].equals("b"));
-
-	// Third library should be "lib3.jar" and be exported with the export
-	// mask containing "a.b.C" and "a.b.D"
-	library = libraryArray[2];
-	assertTrue("5.14 Got the right library", library.getName().equals("lib3.jar"));
-	assertTrue("5.15 Exported", library.isExported());
-	assertTrue("5.16 Not fully exported", !library.isFullyExported());
-	// Now check the export list
-	exportList = library.getExports();
-	assertTrue("5.17 Only one export", exportList.length == 2);
-	assertTrue("5.18 Mask[0]", exportList[0].equals("a.b.C"));
-	assertTrue("5.16 Mask[1]", exportList[1].equals("a.b.D"));
-}
-
-public void emptyLibraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	// Should not get any plugins as the one library entry does not
-	// have the only required field, name
-	assertTrue("6.0 No plugins", pluginDescriptors.length == 0);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
deleted file mode 100644
index e266384..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class ExtensiveRequiresTest extends EclipseWorkspaceTest {
-
-public ExtensiveRequiresTest() {
-	super(null);
-}
-
-public ExtensiveRequiresTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ExtensiveRequiresTest("noRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("emptyRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("oneRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("multiRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("matchRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("exportRequiresTest"));
-	suite.addTest(new ExtensiveRequiresTest("optionalRequiresTest"));
-	return suite;
-}
-
-public void noRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("1.1 Got the right plugin", plugin.getId().equals("noRequiresTest"));
-	assertNull("1.2 No prerequisites", plugin.getRequires());
-}
-
-public void emptyRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("2.1 Got the right plugin", plugin.getId().equals("emptyRequiresTest"));
-	assertNull("2.2 No prerequisites", plugin.getRequires());
-}
-
-public void oneRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("3.1 Got the right plugin", plugin.getId().equals("oneRequiresTest"));
-	PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
-	assertTrue("3.2 One prerequisite", prereqArray.length == 1);
-	assertTrue("3.3 Right prerequisite", prereqArray[0].getPlugin().equals("tests.b"));
-}
-
-public void multiRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	assertTrue("4.1 Got the right plugin", plugin.getId().equals("multiRequiresTest"));
-	PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
-	assertTrue("4.2 Six prerequisites", prereqArray.length == 6);
-	
-	// Check each of the prerequisites
-    // <import plugin="firstPrerequisite"/>
-	PluginPrerequisiteModel prereq = prereqArray[0];
-    assertTrue("4.3 1st prerequisite name", prereq.getPlugin().equals("firstPrerequisite"));
-    assertEquals("4.4 1st prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.5 1st prerequisite export", !prereq.getExport());
-    assertTrue("4.6 1st prerequisite optional", !prereq.getOptional());
-    assertNull("4.7 1st prerequisite version", prereq.getVersion());
-    
-    // <import plugin="secondPrerequisite" version="1.0.0"/>
-	prereq = prereqArray[1];
-    assertTrue("4.8 2nd prerequisite name", prereq.getPlugin().equals("secondPrerequisite"));
-    assertEquals("4.9 2nd prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.10 2nd prerequisite export", !prereq.getExport());
-    assertTrue("4.11 2nd prerequisite optional", !prereq.getOptional());
-    assertTrue("4.12 2nd prerequisite version", prereq.getVersion().equals("1.0.0"));
-    
-    // <import plugin="thirdPrerequisite"/>
-	prereq = prereqArray[2];
-    assertTrue("4.13 3rd prerequisite name", prereq.getPlugin().equals("thirdPrerequisite"));
-    assertEquals("4.14 3rd prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.15 3rd prerequisite export", !prereq.getExport());
-    assertTrue("4.16 3rd prerequisite optional", !prereq.getOptional());
-    assertNull("4.17 3rd prerequisite version", prereq.getVersion());
-    
-    // <import plugin="fourthPrerequisite"/>
-	prereq = prereqArray[3];
-    assertTrue("4.18 4th prerequisite name", prereq.getPlugin().equals("fourthPrerequisite"));
-    assertEquals("4.19 4th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.20 4th prerequisite export", !prereq.getExport());
-    assertTrue("4.21 4th prerequisite optional", !prereq.getOptional());
-    assertNull("4.22 4th prerequisite version", prereq.getVersion());
-    
-    // <import plugin="fifthPrerequisite"/>
-	prereq = prereqArray[4];
-    assertTrue("4.23 5th prerequisite name", prereq.getPlugin().equals("fifthPrerequisite"));
-    assertEquals("4.24 5th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.25 5th prerequisite export", !prereq.getExport());
-    assertTrue("4.26 5th prerequisite optional", !prereq.getOptional());
-    assertNull("4.27 5th prerequisite version", prereq.getVersion());
-    
-    // <import plugin="sixthPrerequisite" version="6.9.10"/>
-	prereq = prereqArray[5];
-    assertTrue("4.28 6th prerequisite name", prereq.getPlugin().equals("sixthPrerequisite"));
-    assertEquals("4.29 6th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    assertTrue("4.30 6th prerequisite export", !prereq.getExport());
-    assertTrue("4.31 6th prerequisite optional", !prereq.getOptional());
-    assertTrue("4.32 6th prerequisite version", prereq.getVersion().equals("6.9.10"));
-}
-
-public void matchRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath[] = new String[6];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml");
-	pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml");
-	pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml");
-	pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml");
-	pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml");
-	URL pluginURLs[] = new URL[6];
-	for (int i = 0; i < pluginPath.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath, true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("5.0 Four plugins", pluginDescriptors.length == 6);
-	
-	// <import plugin="tests.b"/>
-	IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("match1RequiresTest");
-	assertTrue("5.1 Got the right plugin", pluginArray.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
-	PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
-	assertTrue("5.2 One prerequisite", prereqArray.length == 1);
-	PluginPrerequisiteModel prereq = prereqArray[0];
-	assertTrue("5.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("5.4 Unspecified match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-	
-	// <import plugin="tests.b" match="compatible"/>
-	pluginArray = registry.getPluginDescriptors("match2RequiresTest");
-	assertTrue("5.5 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("5.6 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("5.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("5.8 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-	
-	// <import plugin="tests.b" match="equivalent"/>
-	pluginArray = registry.getPluginDescriptors("match3RequiresTest");
-	assertTrue("5.9 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("5.10 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("5.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("5.12 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	
-	// <import plugin="tests.c" match="perfect"/>
-	pluginArray = registry.getPluginDescriptors("match4RequiresTest");
-	assertTrue("5.13 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("5.14 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("5.15 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("5.16 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-	
-	// <import plugin="tests.c" match="greaterOrEqual"/>
-	pluginArray = registry.getPluginDescriptors("match5RequiresTest");
-	assertTrue("5.17 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("5.18 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("5.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("5.20 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-	
-	pluginArray = registry.getPluginDescriptors("match6RequiresTest");
-	assertTrue("5.21 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("5.22 Three prerequisites", prereqArray.length == 5);
-
-	// <import plugin="tests.a"/>
-	prereq = prereqArray[0];
-	assertTrue("5.23 Right prerequisite", prereq.getPlugin().equals("tests.a"));
-	assertTrue("5.24 Unspecified match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-    // <import plugin="tests.b" match="greaterOrEqual"/>
-	prereq = prereqArray[1];
-	assertTrue("5.25 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("5.26 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-    // <import plugin="tests.c" match="compatible"/>
-	prereq = prereqArray[2];
-	assertTrue("5.27 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("5.28 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-    // <import plugin="tests.c" match="equivalent"/>
-	prereq = prereqArray[3];
-	assertTrue("5.29 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("5.30 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-    // <import plugin="tests.c" match="perfect"/>
-	prereq = prereqArray[4];
-	assertTrue("5.31 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("5.32 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-}
-
-public void exportRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath[] = new String[4];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml");
-	pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml");
-	pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml");
-	URL pluginURLs[] = new URL[4];
-	for (int i = 0; i < pluginPath.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath, true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("6.0 Four plugins", pluginDescriptors.length == 4);
-	
-	// <import plugin="tests.b"/>
-	IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("export1RequiresTest");
-	assertTrue("6.1 Got the right plugin", pluginArray.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
-	PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
-	assertTrue("6.2 One prerequisite", prereqArray.length == 1);
-	PluginPrerequisiteModel prereq = prereqArray[0];
-	assertTrue("6.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("6.4 Unspecified export", !prereq.getExport());
-	
-	// <import plugin="tests.b" export="true"/>
-	pluginArray = registry.getPluginDescriptors("export2RequiresTest");
-	assertTrue("6.5 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("6.6 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("6.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("6.8 Specified export", prereq.getExport());
-	
-	// <import plugin="tests.b" export="false"/>
-	pluginArray = registry.getPluginDescriptors("export3RequiresTest");
-	assertTrue("6.9 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("6.10 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("6.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("6.12 Specified false export", !prereq.getExport());
-	
-	pluginArray = registry.getPluginDescriptors("export4RequiresTest");
-	assertTrue("6.13 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("6.14 Three prerequisites", prereqArray.length == 3);
-	// <import plugin="tests.a" export="true"/>
-	prereq = prereqArray[0];
-	assertTrue("6.15 Right prerequisite", prereq.getPlugin().equals("tests.a"));
-	assertTrue("6.16 Specified export", prereq.getExport());
-    // <import plugin="tests.b"/>
-	prereq = prereqArray[1];
-	assertTrue("6.17 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("6.18 Unspecified export", !prereq.getExport());
-    // <import plugin="tests.c" export="false"/>
-	prereq = prereqArray[2];
-	assertTrue("6.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("6.20 Specified false export", !prereq.getExport());
-}
-
-public void optionalRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath[] = new String[4];
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml");
-	pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml");
-	pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml");
-	pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml");
-	URL pluginURLs[] = new URL[4];
-	for (int i = 0; i < pluginPath.length; i++) {
-		URL pURL = null;
-		try {
-			pURL = new URL (pluginPath[i]);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath, true);
-		}
-		pluginURLs[i] = pURL;
-	}
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue("7.0 Four plugins", pluginDescriptors.length == 4);
-	
-	// <import plugin="tests.b"/>
-	IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("optional1RequiresTest");
-	assertTrue("7.1 Got the right plugin", pluginArray.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
-	PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
-	assertTrue("7.2 One prerequisite", prereqArray.length == 1);
-	PluginPrerequisiteModel prereq = prereqArray[0];
-	assertTrue("7.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("7.4 Unspecified optional", !prereq.getOptional());
-	
-	// <import plugin="tests.b" optional="true"/>
-	pluginArray = registry.getPluginDescriptors("optional2RequiresTest");
-	assertTrue("7.5 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("7.6 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("7.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("7.8 Specified optional", prereq.getOptional());
-	
-	// <import plugin="tests.b" optional="false"/>
-	pluginArray = registry.getPluginDescriptors("optional3RequiresTest");
-	assertTrue("7.9 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("7.10 One prerequisite", prereqArray.length == 1);
-	prereq = prereqArray[0];
-	assertTrue("7.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("7.12 Specified false optional", !prereq.getOptional());
-	
-	pluginArray = registry.getPluginDescriptors("optional4RequiresTest");
-	assertTrue("7.13 Got the right plugin", pluginArray.length == 1);
-	plugin = (PluginDescriptorModel)pluginArray[0];
-	prereqArray = plugin.getRequires();
-	assertTrue("7.14 Three prerequisites", prereqArray.length == 3);
-	// <import plugin="tests.a" optional="true"/>
-	prereq = prereqArray[0];
-	assertTrue("7.15 Right prerequisite", prereq.getPlugin().equals("tests.a"));
-	assertTrue("7.16 Specified optional", prereq.getOptional());
-    // <import plugin="tests.b"/>
-	prereq = prereqArray[1];
-	assertTrue("7.17 Right prerequisite", prereq.getPlugin().equals("tests.b"));
-	assertTrue("7.18 Unspecified optional", !prereq.getOptional());
-    // <import plugin="tests.c" optional="false"/>
-	prereq = prereqArray[2];
-	assertTrue("7.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
-	assertTrue("7.20 Specified false optional", !prereq.getOptional());
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
deleted file mode 100644
index 08460c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_1 extends EclipseWorkspaceTest {
-public FragmentResolveTest_1() {
-	super(null);
-}
-public FragmentResolveTest_1(String name) {
-	super(name);
-}
-
-public void test1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment1.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("1.0", pd);
-	assertTrue("1.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.2", all.length == 1);
-	assertTrue("1.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("1.5", fragment.length == 1);
-	assertTrue("1.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.7", fragments.length == 1);
-	assertTrue("1.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.9", fragments[0].getPluginVersion().equals("1.2.0"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("1.10", linkedFragments);
-	assertTrue("1.11", linkedFragments.length == 1);
-	assertTrue("1.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("1.13", libraries.length == 1);
-	assertTrue("1.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment2.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("2.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("2.0", pd);
-	assertTrue("2.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("2.2", all.length == 1);
-	assertTrue("2.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("2.5", fragment.length == 1);
-	assertTrue("2.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("2.7", fragments.length == 1);
-	assertTrue("2.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("2.9", fragments[0].getPluginVersion().equals("1.3.0"));
-	
-	// Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("2.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("2.11", libraries.length == 0);
-}
-
-public void test3() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment3.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("3.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("3.0", pd);
-	assertTrue("3.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("3.2", all.length == 1);
-	assertTrue("3.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("3.5", fragment.length == 1);
-	assertTrue("3.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("3.7", fragments.length == 1);
-	assertTrue("3.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("3.9", fragments[0].getPluginVersion().equals("1.1.0"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("3.10", linkedFragments);
-	assertTrue("3.11", linkedFragments.length == 1);
-	assertTrue("3.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("3.13", libraries.length == 1);
-	assertTrue("3.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment4.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("4.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("4.0", pd);
-	assertTrue("4.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("4.2", all.length == 1);
-	assertTrue("4.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("4.5", fragment.length == 1);
-	assertTrue("4.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("4.7", fragments.length == 1);
-	assertTrue("4.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("4.9", fragments[0].getPluginVersion().equals("2.0.0"));
-	
-	// Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("4.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("4.11", libraries.length == 0);
-}
-
-public void test5() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment5.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("5.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("5.0", pd);
-	assertTrue("5.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("5.2", all.length == 1);
-	assertTrue("5.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("5.5", fragment.length == 1);
-	assertTrue("5.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("5.7", fragments.length == 1);
-	assertTrue("5.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("5.9", fragments[0].getPluginVersion().equals("1.2.1"));
-	
-	// Now make sure we didn't hook this fragment and this plugin.
-	// They are not compatible unless the service number is 0 in this case.
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("5.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("5.11", libraries.length == 0);
-}
-
-public void test6() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin2.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment6.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("6.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("6.0", pd);
-	assertTrue("6.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("6.2", all.length == 1);
-	assertTrue("6.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("6.5", fragment.length == 1);
-	assertTrue("6.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("6.7", fragments.length == 1);
-	assertTrue("6.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("6.9", fragments[0].getPluginVersion().equals("1.2.4"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("6.10", linkedFragments);
-	assertTrue("6.11", linkedFragments.length == 1);
-	assertTrue("6.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("6.13", libraries.length == 1);
-	assertTrue("6.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test7() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin2.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment7.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("7.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("7.0", pd);
-	assertTrue("7.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("7.2", all.length == 1);
-	assertTrue("7.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("7.5", fragment.length == 1);
-	assertTrue("7.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("7.7", fragments.length == 1);
-	assertTrue("7.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("7.9", fragments[0].getPluginVersion().equals("1.2.8"));
-	
-	// Now make sure we didn't hook this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("7.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("7.11", libraries.length == 0);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_1("test1"));
-	suite.addTest(new FragmentResolveTest_1("test2"));
-	suite.addTest(new FragmentResolveTest_1("test3"));
-	suite.addTest(new FragmentResolveTest_1("test4"));
-	suite.addTest(new FragmentResolveTest_1("test5"));
-	suite.addTest(new FragmentResolveTest_1("test6"));
-	suite.addTest(new FragmentResolveTest_1("test7"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
deleted file mode 100644
index 8d9627d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_10 extends EclipseWorkspaceTest {
-public FragmentResolveTest_10() {
-	super(null);
-}
-public FragmentResolveTest_10(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void fullTest() {
-	String[] fragmentIds = {"5.9.8", "1.2.3", "1.2.4", "2.0.0", "3.0.4",
-		"4.6.2", "4.5.8", "4.4.2", "4.5.1"}; 
-	boolean[] matchesPlugin = {false, true, true, true, true, 
-		false, false, true, true};
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin6.xml");
-		for (int i = 0; i < pluginPath.length - 1; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-	
-	for (int i = 0; i < fragmentIds.length; i++) {
-		try {
-			pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/fragment" + (i+1) + ".xml");
-			pluginURLs[6] = new URL (pluginPath[6]);
-		} catch (java.net.MalformedURLException e) {
-			fail("0.0.1 Unexpected exception - " + e.getMessage());
-		}
-	
-		IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-	
-		// We should have 6 plugins all with id 'tests.a'
-		IPluginDescriptor[] all = registry.getPluginDescriptors();
-		assertTrue(i + ".0", all.length == 6);
-		assertTrue(i + ".1", all[0].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".2", all[1].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".3", all[2].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".4", all[3].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".5", all[4].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".6", all[5].getUniqueIdentifier().equals("tests.a"));
-	
-		// Make sure we got all the version numbers
-		IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-		IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-		IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-		IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-		IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-		IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-		assertNotNull(i + ".7", pd125);
-		assertNotNull(i + ".8", pd128);
-		assertNotNull(i + ".9", pd123);
-		assertNotNull(i + ".10", pd130);
-		assertNotNull(i + ".11", pd300);
-		assertNotNull(i + ".12", pd453);
-	
-		// Check the fragment list.  There should only be one
-		PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-		assertTrue(i + ".13", fragments.length == 1);
-		assertTrue(i + ".14", fragments[0].getId().equals("fragmentTest"));
-		assertTrue(i + ".15", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-		
-		if (matchesPlugin[i]) {		
-			// Now make sure we hooked this fragment to the right plugin (and only
-			// one plugin)
-			PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-			PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-			PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-			PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-			PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-			PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-			assertNull(i + ".16", linkedFragments125);
-			assertNull(i + ".17", linkedFragments128);
-			assertNull(i + ".18", linkedFragments123);
-			assertNull(i + ".19", linkedFragments130);
-			assertNull(i + ".20", linkedFragments300);
-			assertNotNull(i + ".21", linkedFragments453);
-			assertTrue(i + ".22", linkedFragments453.length == 1);
-			assertTrue(i + ".23", linkedFragments453[0].getId().equals("fragmentTest"));
-			
-			// Finally, make sure the library entry in the fragment is
-			// now part of the proper plugin
-			ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-			ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-			ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-			ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-			ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-			ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-			assertTrue(i + ".24", libraries125.length == 0);
-			assertTrue(i + ".25", libraries128.length == 0);
-			assertTrue(i + ".26", libraries123.length == 0);
-			assertTrue(i + ".27", libraries130.length == 0);
-			assertTrue(i + ".28", libraries300.length == 0);
-			assertTrue(i + ".29", libraries453.length == 1);
-			assertTrue(i + ".30", ((Library)libraries453[0]).getName().equals("lib1.jar"));
-		} else {
-			// Now make sure we didn't hook this fragment to any plugin
-			PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-			PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-			PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-			PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-			PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-			PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-			assertNull(i + ".16", linkedFragments125);
-			assertNull(i + ".17", linkedFragments128);
-			assertNull(i + ".18", linkedFragments123);
-			assertNull(i + ".19", linkedFragments130);
-			assertNull(i + ".20", linkedFragments300);
-			assertNull(i + ".21", linkedFragments453);
-			
-			// Finally, make sure the library entry in the fragment is
-			// not part of any plugin
-			ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-			ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-			ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-			ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-			ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-			ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-			assertTrue(i + ".22", libraries125.length == 0);
-			assertTrue(i + ".23", libraries128.length == 0);
-			assertTrue(i + ".24", libraries123.length == 0);
-			assertTrue(i + ".25", libraries130.length == 0);
-			assertTrue(i + ".26", libraries300.length == 0);
-			assertTrue(i + ".27", libraries453.length == 0);
-		}
-	}
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_10("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
deleted file mode 100644
index 402ed54..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_11 extends EclipseWorkspaceTest {
-public FragmentResolveTest_11() {
-	super(null);
-}
-public FragmentResolveTest_11(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void fullTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[3];
-	String[] pluginPath = new String[3];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath[0]);
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-	
-	try {
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/fragment1.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/fragment2.xml");
-		pluginURLs[1] = new URL (pluginPath[1]);
-		pluginURLs[2] = new URL (pluginPath[2]);
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.1 Unexpected exception - " + e.getMessage());
-	}
-
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 1 plugin
-	PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
-	assertTrue("1.0", all.length == 1);
-	assertTrue("1.1", all[0].getId().equals("pluginOne"));
-	PluginDescriptorModel plugin = all[0];
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.2", fragments.length == 2);
-	assertTrue("1.3", fragments[0].getId().equals("fragmentOne"));
-	assertTrue("1.4", fragments[1].getId().equals("fragmentOne"));
-	
-	PluginFragmentModel[] pluginFragments = plugin.getFragments();
-	assertTrue("1.5", pluginFragments.length == 1);
-	assertTrue("1.6", pluginFragments[0].getId().equals("fragmentOne"));
-	assertTrue("1.7", pluginFragments[0].getVersion().equals("1.0.1"));
-	
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("1.8", libraries.length == 2);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_11("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
deleted file mode 100644
index a5f3757..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_12 extends EclipseWorkspaceTest {
-public FragmentResolveTest_12() {
-	super(null);
-}
-public FragmentResolveTest_12(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void fullTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[9];
-	String[] pluginPath = new String[9];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/plugin1.xml");
-	
-	try {
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment1.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment2.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment3.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment4.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment5.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment6.xml");
-		pluginPath[7] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment7.xml");
-		pluginPath[8] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment8.xml");
-		
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 1 plugin
-	PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
-	assertTrue("1.0", all.length == 1);
-	assertTrue("1.1", all[0].getId().equals("pluginOne"));
-	PluginDescriptorModel plugin = all[0];
-
-	// Check the fragment list.  There should be eight
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.2", fragments.length == 8);
-	assertTrue("1.3", fragments[0].getId().equals("fragmentOne"));
-	assertTrue("1.4", fragments[1].getId().equals("fragmentOne"));
-	assertTrue("1.5", fragments[2].getId().equals("fragmentOne"));
-	assertTrue("1.6", fragments[3].getId().equals("fragmentOne"));
-	assertTrue("1.7", fragments[4].getId().equals("fragmentOne"));
-	assertTrue("1.8", fragments[5].getId().equals("fragmentOne"));
-	assertTrue("1.9", fragments[6].getId().equals("fragmentOne"));
-	assertTrue("1.10", fragments[7].getId().equals("fragmentOne"));
-	
-	// Only the latest one should hang off the plugin
-	PluginFragmentModel[] pluginFragments = plugin.getFragments();
-	assertTrue("1.11", pluginFragments.length == 1);
-	assertTrue("1.12", pluginFragments[0].getId().equals("fragmentOne"));
-	assertTrue("1.13", pluginFragments[0].getVersion().equals("1.7.2"));
-	
-	// But we should only have used fragment5.xml
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("1.14", libraries.length == 5);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_12("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
deleted file mode 100644
index d0863c1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_13 extends EclipseWorkspaceTest {
-public FragmentResolveTest_13() {
-	super(null);
-}
-public FragmentResolveTest_13(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void fullTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[16];
-	String[] pluginPath = new String[16];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/plugin1.xml");
-	
-	try {
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment1.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment2.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment3.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment4.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment5.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment6.xml");
-		pluginPath[7] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment7.xml");
-		pluginPath[8] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment8.xml");
-		pluginPath[9] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment21.xml");
-		pluginPath[10] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment22.xml");
-		pluginPath[11] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment23.xml");
-		pluginPath[12] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment24.xml");
-		pluginPath[13] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment25.xml");
-		pluginPath[14] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment26.xml");
-		pluginPath[15] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment27.xml");
-		
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 1 plugin
-	PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
-	assertTrue("1.0", all.length == 1);
-	assertTrue("1.1", all[0].getId().equals("pluginOne"));
-	PluginDescriptorModel plugin = all[0];
-
-	// Check the fragment list.  There should be 15
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.2", fragments.length == 15);
-	
-	// Only 2 fragments should hang off the plugin
-	PluginFragmentModel[] pluginFragments = plugin.getFragments();
-	assertTrue("1.3", pluginFragments.length == 2);
-	PluginFragmentModel fragment1 = null;
-	PluginFragmentModel fragment2 = null;
-	for (int i = 0; i < pluginFragments.length; i++) {
-		if (pluginFragments[i].getId().equals("fragmentOne"))
-			fragment1 = pluginFragments[i];
-		else if (pluginFragments[i].getId().equals("fragmentTwo"))
-			fragment2 = pluginFragments[i];
-	}
-			
-	// Make sure we picked up both fragments
-	assertNotNull("1.4", fragment1);
-	assertNotNull("1.5", fragment2);
-	
-	// Make sure we picked up the right version for each fragment
-	assertTrue("1.6", fragment1.getVersion().equals("4.5.0"));
-	assertTrue("1.7", fragment2.getVersion().equals("3.0.0"));
-	
-	// But we should only have used fragment5.xml
-	LibraryModel[] libraries = plugin.getRuntime();
-	assertTrue("1.8", libraries.length == 4);
-	
-	// Make sure we got the right libraries
-	boolean lib1 = false;
-	boolean lib2 = false;
-	boolean lib3 = false;
-	boolean lib21 = false;
-	boolean somethingElse = false;
-	
-	for (int i = 0; i < libraries.length; i++) {
-		String libName = libraries[i].getName();
-		if (libName.equals("lib1.jar"))
-			lib1 = true;
-		else if (libName.equals("lib2.jar"))
-			lib2 = true;
-		else if (libName.equals("lib3.jar"))
-			lib3 = true;
-		else if (libName.equals("lib21.jar"))
-			lib21 = true;
-		else
-			somethingElse = true;
-	}
-	assertTrue("1.9", lib1 && lib2 && lib3 && lib21 && !somethingElse);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_13("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
deleted file mode 100644
index 76fec60..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_2 extends EclipseWorkspaceTest {
-public FragmentResolveTest_2() {
-	super(null);
-}
-public FragmentResolveTest_2(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void test1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment1.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 4);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("1.5", pd124);
-	assertNotNull("1.6", pd130);
-	assertNotNull("1.7", pd240);
-	assertNotNull("1.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.9", fragments.length == 1);
-	assertTrue("1.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.11", fragments[0].getPluginVersion().equals("1.2.3"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("1.12", linkedFragments124);
-	assertNotNull("1.13", linkedFragments130);
-	assertNull("1.14", linkedFragments240);
-	assertNull("1.15", linkedFragments110);
-	assertTrue("1.16", linkedFragments130.length == 1);
-	assertTrue("1.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("1.18", libraries124.length == 0);
-	assertTrue("1.19", libraries130.length == 1);
-	assertTrue("1.20", libraries240.length == 0);
-	assertTrue("1.21", libraries110.length == 0);
-	assertTrue("1.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment2.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("2.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("2.0", all.length == 4);
-	assertTrue("2.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("2.5", pd124);
-	assertNotNull("2.6", pd130);
-	assertNotNull("2.7", pd240);
-	assertNotNull("2.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("2.9", fragments.length == 1);
-	assertTrue("2.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("2.11", fragments[0].getPluginVersion().equals("1.0.0"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("2.12", linkedFragments124);
-	assertNotNull("2.13", linkedFragments130);
-	assertNull("2.14", linkedFragments240);
-	assertNull("2.15", linkedFragments110);
-	assertTrue("2.16", linkedFragments130.length == 1);
-	assertTrue("2.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("2.18", libraries124.length == 0);
-	assertTrue("2.19", libraries130.length == 1);
-	assertTrue("2.20", libraries240.length == 0);
-	assertTrue("2.21", libraries110.length == 0);
-	assertTrue("2.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment3.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("3.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("3.0", all.length == 4);
-	assertTrue("3.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("3.5", pd124);
-	assertNotNull("3.6", pd130);
-	assertNotNull("3.7", pd240);
-	assertNotNull("3.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("3.9", fragments.length == 1);
-	assertTrue("3.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("3.11", fragments[0].getPluginVersion().equals("2.1.1"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("3.12", linkedFragments124);
-	assertNull("3.13", linkedFragments130);
-	assertNotNull("3.14", linkedFragments240);
-	assertNull("3.15", linkedFragments110);
-	assertTrue("3.16", linkedFragments240.length == 1);
-	assertTrue("3.17", linkedFragments240[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("3.18", libraries124.length == 0);
-	assertTrue("3.19", libraries130.length == 0);
-	assertTrue("3.20", libraries240.length == 1);
-	assertTrue("3.21", libraries110.length == 0);
-	assertTrue("3.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment4.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("4.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("4.0", all.length == 4);
-	assertTrue("4.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("4.5", pd124);
-	assertNotNull("4.6", pd130);
-	assertNotNull("4.7", pd240);
-	assertNotNull("4.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("4.9", fragments.length == 1);
-	assertTrue("4.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("4.11", fragments[0].getPluginVersion().equals("2.5.0"));
-	
-	// Now make sure we didn't hood this fragment anywhere
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("4.12", linkedFragments124);
-	assertNull("4.13", linkedFragments130);
-	assertNull("4.14", linkedFragments240);
-	assertNull("4.15", linkedFragments110);
-	
-	// Finally, make sure the library entry didn't show
-	// up in any of the plugins
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("4.16", libraries124.length == 0);
-	assertTrue("4.17", libraries130.length == 0);
-	assertTrue("4.18", libraries240.length == 0);
-	assertTrue("4.19", libraries110.length == 0);
-}
-
-public void test5() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment5.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("5.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("5.0", all.length == 4);
-	assertTrue("5.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("5.5", pd124);
-	assertNotNull("5.6", pd130);
-	assertNotNull("5.7", pd240);
-	assertNotNull("5.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("5.9", fragments.length == 1);
-	assertTrue("5.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("5.11", fragments[0].getPluginVersion().equals("1.2.4"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("5.12", linkedFragments124);
-	assertNotNull("5.13", linkedFragments130);
-	assertNull("5.14", linkedFragments240);
-	assertNull("5.15", linkedFragments110);
-	assertTrue("5.16", linkedFragments130.length == 1);
-	assertTrue("5.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("5.18", libraries124.length == 0);
-	assertTrue("5.19", libraries130.length == 1);
-	assertTrue("5.20", libraries240.length == 0);
-	assertTrue("5.21", libraries110.length == 0);
-	assertTrue("5.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test6() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment6.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("6.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("6.0", all.length == 4);
-	assertTrue("6.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("6.5", pd124);
-	assertNotNull("6.6", pd130);
-	assertNotNull("6.7", pd240);
-	assertNotNull("6.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("6.9", fragments.length == 1);
-	assertTrue("6.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("6.11", fragments[0].getPluginVersion().equals("3.0.0"));
-	
-	// Now make sure we didn't hook this fragment anywhere
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("6.12", linkedFragments124);
-	assertNull("6.13", linkedFragments130);
-	assertNull("6.14", linkedFragments240);
-	assertNull("6.15", linkedFragments110);
-	
-	// Finally, make sure the library entry in the fragment doesn't
-	// show up in any of the plugins
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("6.16", libraries124.length == 0);
-	assertTrue("6.17", libraries130.length == 0);
-	assertTrue("6.18", libraries240.length == 0);
-	assertTrue("6.19", libraries110.length == 0);
-}
-
-public void test7() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment7.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("7.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("7.0", all.length == 4);
-	assertTrue("7.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("7.5", pd124);
-	assertNotNull("7.6", pd130);
-	assertNotNull("7.7", pd240);
-	assertNotNull("7.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("7.9", fragments.length == 1);
-	assertTrue("7.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("7.11", fragments[0].getPluginVersion().equals("2.4.0"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("7.12", linkedFragments124);
-	assertNull("7.13", linkedFragments130);
-	assertNotNull("7.14", linkedFragments240);
-	assertNull("7.15", linkedFragments110);
-	assertTrue("7.16", linkedFragments240.length == 1);
-	assertTrue("7.17", linkedFragments240[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("7.18", libraries124.length == 0);
-	assertTrue("7.19", libraries130.length == 0);
-	assertTrue("7.20", libraries240.length == 1);
-	assertTrue("7.21", libraries110.length == 0);
-	assertTrue("7.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_2("test1"));
-	suite.addTest(new FragmentResolveTest_2("test2"));
-	suite.addTest(new FragmentResolveTest_2("test3"));
-	suite.addTest(new FragmentResolveTest_2("test4"));
-	suite.addTest(new FragmentResolveTest_2("test5"));
-	suite.addTest(new FragmentResolveTest_2("test6"));
-	suite.addTest(new FragmentResolveTest_2("test7"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
deleted file mode 100644
index 250400f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_3 extends EclipseWorkspaceTest {
-public FragmentResolveTest_3() {
-	super(null);
-}
-public FragmentResolveTest_3(String name) {
-	super(name);
-}
-
-public void fullTest() {
-	String[] fragmentIds = {"1.2.1", "1.2.2", "1.2.0", "1.1.0", 
-		"1.1.1", "1.5.0", "1.5.1", "3.0.0", "3.2.1"}; 
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	for (int i = 0; i < fragmentIds.length; i++) {
-		URL pluginURLs[] = new URL[2];
-		try {
-			PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-			String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.3/plugin1.xml");
-			pluginURLs[0] = new URL (pluginPath);
-			pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.3/fragment" + (i + 1) + ".xml");
-			pluginURLs[1] = new URL (pluginPath);
-		} catch (java.net.MalformedURLException e) {
-			fail("0.0 Unexpected exception - " + e.getMessage());
-		}
-		IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-		IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-	
-		// check descriptor
-		assertNotNull(i + ".0", pd);
-		assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-	
-		// check to see if we have all plugins
-		IPluginDescriptor[] all = registry.getPluginDescriptors();
-		assertTrue(i + ".2", all.length == 1);
-		assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.1")));
-	
-		// Check the fragment list.  There should only be one
-		PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-		assertTrue(i + ".5", fragment.length == 1);
-		assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-		
-		// Have we got all the fragments
-		PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-		assertTrue(i + ".7", fragments.length == 1);
-		assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
-		assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-		
-		if (fragmentIds[i].equals("1.2.1")) {
-			// Now make sure we hooked this fragment and this plugin
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNotNull(i + ".10", linkedFragments);
-			assertTrue(i + ".11", linkedFragments.length == 1);
-			assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-			
-			// Finally, make sure the library entry in the fragment is
-			// now part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".13", libraries.length == 1);
-			assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-		} else {
-			// Now make sure we didn't hook this fragment and this plugin.
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNull(i + ".10", linkedFragments);
-			
-			// Finally, make sure the library entry in the fragment is
-			// not part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".11", libraries.length == 0);
-		}
-	}
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_3("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
deleted file mode 100644
index f4637cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_4 extends EclipseWorkspaceTest {
-public FragmentResolveTest_4() {
-	super(null);
-}
-public FragmentResolveTest_4(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void fullTest() {
-	String[] fragmentIds = {"1.2.1", "1.2.2", "1.2.0", "1.1.0", 
-		"1.1.1", "1.5.0", "1.5.1", "3.0.0", "3.2.1"}; 
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[6];
-	String[] pluginPath = new String[6];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin5.xml");
-		for (int i = 0; i < pluginPath.length - 1; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-	
-	for (int i = 0; i < fragmentIds.length; i++) {
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/fragment" + (i + 1) + ".xml");
-		try {
-			pluginURLs[5] = new URL (pluginPath[5]);
-		} catch (java.net.MalformedURLException e) {
-			fail("0.0.1 Unexpected exception - " + e.getMessage());
-		}
-		IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-	
-		// We should have 5 plugins all with id 'tests.a'
-		IPluginDescriptor[] all = registry.getPluginDescriptors();
-		assertTrue(i + ".0", all.length == 5);
-		assertTrue(i + ".1", all[0].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".2", all[1].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".3", all[2].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".4", all[3].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".5", all[4].getUniqueIdentifier().equals("tests.a"));
-	
-		// Make sure we got all the version numbers
-		IPluginDescriptor pd121 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.1"));
-		IPluginDescriptor pd140 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.4.0"));
-		IPluginDescriptor pd117 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.7"));
-		IPluginDescriptor pd302 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.2"));
-		IPluginDescriptor pd021 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("0.2.1"));
-		assertNotNull(i + ".6", pd121);
-		assertNotNull(i + ".7", pd140);
-		assertNotNull(i + ".8", pd117);
-		assertNotNull(i + ".9", pd302);
-		assertNotNull(i + ".10", pd021);
-	
-		// Check the fragment list.  There should only be one
-		PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-		assertTrue(i + ".11", fragments.length == 1);
-		assertTrue(i + ".12", fragments[0].getId().equals("fragmentTest"));
-		assertTrue(i + ".13", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-		
-		if (fragmentIds[i].equals("1.2.1")) {
-			// Now make sure we hooked this fragment to the right plugin (and only
-			// one plugin)
-			PluginFragmentModel[] linkedFragments121 = ((PluginDescriptorModel)pd121).getFragments();
-			PluginFragmentModel[] linkedFragments140 = ((PluginDescriptorModel)pd140).getFragments();
-			PluginFragmentModel[] linkedFragments117 = ((PluginDescriptorModel)pd117).getFragments();
-			PluginFragmentModel[] linkedFragments302 = ((PluginDescriptorModel)pd302).getFragments();
-			PluginFragmentModel[] linkedFragments021 = ((PluginDescriptorModel)pd021).getFragments();
-			assertNotNull(i + ".14", linkedFragments121);
-			assertNull(i + ".15", linkedFragments140);
-			assertNull(i + ".16", linkedFragments117);
-			assertNull(i + ".17", linkedFragments302);
-			assertNull(i + ".18", linkedFragments021);
-			assertTrue(i + ".19", linkedFragments121.length == 1);
-			assertTrue(i + ".20", linkedFragments121[0].getId().equals("fragmentTest"));
-			
-			// Finally, make sure the library entry in the fragment is
-			// now part of the proper plugin
-			ILibrary[] libraries121 = pd121.getRuntimeLibraries();
-			ILibrary[] libraries140 = pd140.getRuntimeLibraries();
-			ILibrary[] libraries117 = pd117.getRuntimeLibraries();
-			ILibrary[] libraries302 = pd302.getRuntimeLibraries();
-			ILibrary[] libraries021 = pd021.getRuntimeLibraries();
-			assertTrue(i + ".21", libraries121.length == 1);
-			assertTrue(i + ".22", libraries140.length == 0);
-			assertTrue(i + ".23", libraries117.length == 0);
-			assertTrue(i + ".24", libraries302.length == 0);
-			assertTrue(i + ".25", libraries021.length == 0);
-			assertTrue(i + ".26", ((Library)libraries121[0]).getName().equals("lib1.jar"));
-		} else {
-			// Now make sure we didn't hook this fragment to any plugin
-			PluginFragmentModel[] linkedFragments121 = ((PluginDescriptorModel)pd121).getFragments();
-			PluginFragmentModel[] linkedFragments140 = ((PluginDescriptorModel)pd140).getFragments();
-			PluginFragmentModel[] linkedFragments117 = ((PluginDescriptorModel)pd117).getFragments();
-			PluginFragmentModel[] linkedFragments302 = ((PluginDescriptorModel)pd302).getFragments();
-			PluginFragmentModel[] linkedFragments021 = ((PluginDescriptorModel)pd021).getFragments();
-			assertNull(i + ".14", linkedFragments121);
-			assertNull(i + ".15", linkedFragments140);
-			assertNull(i + ".16", linkedFragments117);
-			assertNull(i + ".17", linkedFragments302);
-			assertNull(i + ".18", linkedFragments021);
-			
-			// Finally, make sure the library entry in the fragment is
-			// not part of the proper plugin
-			ILibrary[] libraries121 = pd121.getRuntimeLibraries();
-			ILibrary[] libraries140 = pd140.getRuntimeLibraries();
-			ILibrary[] libraries117 = pd117.getRuntimeLibraries();
-			ILibrary[] libraries302 = pd302.getRuntimeLibraries();
-			ILibrary[] libraries021 = pd021.getRuntimeLibraries();
-			assertTrue(i + ".19", libraries121.length == 0);
-			assertTrue(i + ".20", libraries140.length == 0);
-			assertTrue(i + ".21", libraries117.length == 0);
-			assertTrue(i + ".22", libraries302.length == 0);
-			assertTrue(i + ".23", libraries021.length == 0);
-		}
-	}
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_4("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
deleted file mode 100644
index bcaaa28..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_5 extends EclipseWorkspaceTest {
-public FragmentResolveTest_5() {
-	super(null);
-}
-public FragmentResolveTest_5(String name) {
-	super(name);
-}
-
-public void fullTest() {
-	String[] fragmentIds = {"1.3.2", "1.3.7", "1.2.5", "1.2.8",
-		"1.2.2", "1.2.0", "1.1.5", "1.1.0", "1.3.5", "3.0.0", "3.2.5", "3.2.4"}; 
-	boolean[] matchesFragment = {false, false, true, false,
-		true, true, false, false, false, false, false, false};
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	for (int i = 0; i < fragmentIds.length; i++) {
-		URL pluginURLs[] = new URL[2];
-		try {
-			PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-			String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.5/plugin1.xml");
-			pluginURLs[0] = new URL (pluginPath);
-			pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.5/fragment" + (i + 1) + ".xml");
-			pluginURLs[1] = new URL (pluginPath);
-		} catch (java.net.MalformedURLException e) {
-			fail("0.0.0 Unexpected exception - " + e.getMessage());
-		}
-		IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-		IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-	
-		// check descriptor
-		assertNotNull(i + ".0", pd);
-		assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-	
-		// check to see if we have all plugins
-		IPluginDescriptor[] all = registry.getPluginDescriptors();
-		assertTrue(i + ".2", all.length == 1);
-		assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.5")));
-	
-		// Check the fragment list.  There should only be one
-		PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-		assertTrue(i + ".5", fragment.length == 1);
-		assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-		
-		// Have we got all the fragments
-		PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-		assertTrue(i + ".7", fragments.length == 1);
-		assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
-		assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-		
-		if (matchesFragment[i]) {
-			// Now make sure we hooked this fragment and this plugin
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNotNull(i + ".10", linkedFragments);
-			assertTrue(i + ".11", linkedFragments.length == 1);
-			assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-			
-			// Finally, make sure the library entry in the fragment is
-			// now part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".13", libraries.length == 1);
-			assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-		} else {
-			// Now make sure we didn't hook this fragment and this plugin.
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNull(i + ".10", linkedFragments);
-			
-			// Finally, make sure the library entry in the fragment is
-			// not part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".11", libraries.length == 0);
-		}
-	}
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_5("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
deleted file mode 100644
index a7567c9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
+++ /dev/null
@@ -1,814 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_6 extends EclipseWorkspaceTest {
-public FragmentResolveTest_6() {
-	super(null);
-}
-public FragmentResolveTest_6(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void test1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment1.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("5.9.8"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment2.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("1.2.3"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNotNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	assertTrue("1.22", linkedFragments128.length == 1);
-	assertTrue("1.23", linkedFragments128[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.24", libraries125.length == 0);
-	assertTrue("1.25", libraries128.length == 1);
-	assertTrue("1.26", libraries123.length == 0);
-	assertTrue("1.27", libraries130.length == 0);
-	assertTrue("1.28", libraries300.length == 0);
-	assertTrue("1.29", libraries453.length == 0);
-	assertTrue("1.30", ((Library)libraries128[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment3.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("1.2.4"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNotNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	assertTrue("1.22", linkedFragments128.length == 1);
-	assertTrue("1.23", linkedFragments128[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.24", libraries125.length == 0);
-	assertTrue("1.25", libraries128.length == 1);
-	assertTrue("1.26", libraries123.length == 0);
-	assertTrue("1.27", libraries130.length == 0);
-	assertTrue("1.28", libraries300.length == 0);
-	assertTrue("1.29", libraries453.length == 0);
-	assertTrue("1.30", ((Library)libraries128[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment4.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("2.0.0"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test5() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment5.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("3.0.4"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test6() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment6.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("4.6.2"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test7() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment7.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("4.5.8"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test8() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment8.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("4.4.2"));
-	
-	// Now make sure we didn't hook this fragment to any plugin
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNull("1.21", linkedFragments453);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of any plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.22", libraries125.length == 0);
-	assertTrue("1.23", libraries128.length == 0);
-	assertTrue("1.24", libraries123.length == 0);
-	assertTrue("1.25", libraries130.length == 0);
-	assertTrue("1.26", libraries300.length == 0);
-	assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test9() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[7];
-	String[] pluginPath = new String[7];
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	try {
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
-		pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
-		pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment9.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 5 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 6);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
-	IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
-	IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
-	IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
-	assertNotNull("1.7", pd125);
-	assertNotNull("1.8", pd128);
-	assertNotNull("1.9", pd123);
-	assertNotNull("1.10", pd130);
-	assertNotNull("1.11", pd300);
-	assertNotNull("1.12", pd453);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.13", fragments.length == 1);
-	assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.15", fragments[0].getPluginVersion().equals("4.5.1"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
-	PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
-	PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
-	PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
-	assertNull("1.16", linkedFragments125);
-	assertNull("1.17", linkedFragments128);
-	assertNull("1.18", linkedFragments123);
-	assertNull("1.19", linkedFragments130);
-	assertNull("1.20", linkedFragments300);
-	assertNotNull("1.21", linkedFragments453);
-	assertTrue("1.22", linkedFragments453.length == 1);
-	assertTrue("1.23", linkedFragments453[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries125 = pd125.getRuntimeLibraries();
-	ILibrary[] libraries128 = pd128.getRuntimeLibraries();
-	ILibrary[] libraries123 = pd123.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries300 = pd300.getRuntimeLibraries();
-	ILibrary[] libraries453 = pd453.getRuntimeLibraries();
-	assertTrue("1.24", libraries125.length == 0);
-	assertTrue("1.25", libraries128.length == 0);
-	assertTrue("1.26", libraries123.length == 0);
-	assertTrue("1.27", libraries130.length == 0);
-	assertTrue("1.28", libraries300.length == 0);
-	assertTrue("1.29", libraries453.length == 1);
-	assertTrue("1.30", ((Library)libraries453[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_6("test1"));
-	suite.addTest(new FragmentResolveTest_6("test2"));
-	suite.addTest(new FragmentResolveTest_6("test3"));
-	suite.addTest(new FragmentResolveTest_6("test4"));
-	suite.addTest(new FragmentResolveTest_6("test5"));
-	suite.addTest(new FragmentResolveTest_6("test6"));
-	suite.addTest(new FragmentResolveTest_6("test7"));
-	suite.addTest(new FragmentResolveTest_6("test8"));
-	suite.addTest(new FragmentResolveTest_6("test9"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
deleted file mode 100644
index 8ae3a71..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_7 extends EclipseWorkspaceTest {
-public FragmentResolveTest_7() {
-	super(null);
-}
-public FragmentResolveTest_7(String name) {
-	super(name);
-}
-
-public void test1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment1.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("1.0", pd);
-	assertTrue("1.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.2", all.length == 1);
-	assertTrue("1.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("1.5", fragment.length == 1);
-	assertTrue("1.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.7", fragments.length == 1);
-	assertTrue("1.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.9", fragments[0].getPluginVersion().equals("1.2.0"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("1.10", linkedFragments);
-	assertTrue("1.11", linkedFragments.length == 1);
-	assertTrue("1.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("1.13", libraries.length == 1);
-	assertTrue("1.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment2.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("2.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("2.0", pd);
-	assertTrue("2.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("2.2", all.length == 1);
-	assertTrue("2.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("2.5", fragment.length == 1);
-	assertTrue("2.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("2.7", fragments.length == 1);
-	assertTrue("2.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("2.9", fragments[0].getPluginVersion().equals("1.3.0"));
-	
-	// Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("2.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("2.11", libraries.length == 0);
-}
-
-public void test3() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment3.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("3.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("3.0", pd);
-	assertTrue("3.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("3.2", all.length == 1);
-	assertTrue("3.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("3.5", fragment.length == 1);
-	assertTrue("3.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("3.7", fragments.length == 1);
-	assertTrue("3.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("3.9", fragments[0].getPluginVersion().equals("1.1.0"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("3.10", linkedFragments);
-	assertTrue("3.11", linkedFragments.length == 1);
-	assertTrue("3.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("3.13", libraries.length == 1);
-	assertTrue("3.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment4.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("4.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("4.0", pd);
-	assertTrue("4.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("4.2", all.length == 1);
-	assertTrue("4.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("4.5", fragment.length == 1);
-	assertTrue("4.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("4.7", fragments.length == 1);
-	assertTrue("4.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("4.9", fragments[0].getPluginVersion().equals("2.0.0"));
-	
-	// Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("4.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("4.11", libraries.length == 0);
-}
-
-public void test5() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment5.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("5.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("5.0", pd);
-	assertTrue("5.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("5.2", all.length == 1);
-	assertTrue("5.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("5.5", fragment.length == 1);
-	assertTrue("5.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("5.7", fragments.length == 1);
-	assertTrue("5.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("5.9", fragments[0].getPluginVersion().equals("1.2.1"));
-	
-	// Now make sure we didn't hook this fragment and this plugin.
-	// They are not compatible unless the service number is 0 in this case.
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("5.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("5.11", libraries.length == 0);
-}
-
-public void test6() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin2.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment6.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("6.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("6.0", pd);
-	assertTrue("6.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("6.2", all.length == 1);
-	assertTrue("6.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("6.5", fragment.length == 1);
-	assertTrue("6.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("6.7", fragments.length == 1);
-	assertTrue("6.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("6.9", fragments[0].getPluginVersion().equals("1.2.4"));
-	
-	// Now make sure we hooked this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNotNull("6.10", linkedFragments);
-	assertTrue("6.11", linkedFragments.length == 1);
-	assertTrue("6.12", linkedFragments[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("6.13", libraries.length == 1);
-	assertTrue("6.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test7() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[2];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin2.xml");
-		pluginURLs[0] = new URL (pluginPath);
-		pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment7.xml");
-		pluginURLs[1] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("7.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
-	// check descriptor
-	assertNotNull("7.0", pd);
-	assertTrue("7.1", pd.getUniqueIdentifier().equals("tests.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("7.2", all.length == 1);
-	assertTrue("7.3", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-	assertTrue("7.5", fragment.length == 1);
-	assertTrue("7.6", fragment[0].getId().equals("fragmentTest"));
-	
-	// Have we got all the fragments
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("7.7", fragments.length == 1);
-	assertTrue("7.8", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("7.9", fragments[0].getPluginVersion().equals("1.2.8"));
-	
-	// Now make sure we didn't hook this fragment and this plugin
-	PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-	assertNull("7.10", linkedFragments);
-	
-	// Finally, make sure the library entry in the fragment is
-	// not part of the plugin
-	ILibrary[] libraries = pd.getRuntimeLibraries();
-	assertTrue("7.11", libraries.length == 0);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_7("test1"));
-	suite.addTest(new FragmentResolveTest_7("test2"));
-	suite.addTest(new FragmentResolveTest_7("test3"));
-	suite.addTest(new FragmentResolveTest_7("test4"));
-	suite.addTest(new FragmentResolveTest_7("test5"));
-	suite.addTest(new FragmentResolveTest_7("test6"));
-	suite.addTest(new FragmentResolveTest_7("test7"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
deleted file mode 100644
index 124d378..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_8 extends EclipseWorkspaceTest {
-public FragmentResolveTest_8() {
-	super(null);
-}
-public FragmentResolveTest_8(String name) {
-	super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve)
-		// don't trim the disabled plugins for these tests
-		registry.resolve(false, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-
-public void test1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment1.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length == 4);
-	assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("1.5", pd124);
-	assertNotNull("1.6", pd130);
-	assertNotNull("1.7", pd240);
-	assertNotNull("1.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("1.9", fragments.length == 1);
-	assertTrue("1.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("1.11", fragments[0].getPluginVersion().equals("1.2.3"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("1.12", linkedFragments124);
-	assertNotNull("1.13", linkedFragments130);
-	assertNull("1.14", linkedFragments240);
-	assertNull("1.15", linkedFragments110);
-	assertTrue("1.16", linkedFragments130.length == 1);
-	assertTrue("1.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("1.18", libraries124.length == 0);
-	assertTrue("1.19", libraries130.length == 1);
-	assertTrue("1.20", libraries240.length == 0);
-	assertTrue("1.21", libraries110.length == 0);
-	assertTrue("1.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment2.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("2.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("2.0", all.length == 4);
-	assertTrue("2.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("2.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("2.5", pd124);
-	assertNotNull("2.6", pd130);
-	assertNotNull("2.7", pd240);
-	assertNotNull("2.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("2.9", fragments.length == 1);
-	assertTrue("2.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("2.11", fragments[0].getPluginVersion().equals("1.0.0"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("2.12", linkedFragments124);
-	assertNotNull("2.13", linkedFragments130);
-	assertNull("2.14", linkedFragments240);
-	assertNull("2.15", linkedFragments110);
-	assertTrue("2.16", linkedFragments130.length == 1);
-	assertTrue("2.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("2.18", libraries124.length == 0);
-	assertTrue("2.19", libraries130.length == 1);
-	assertTrue("2.20", libraries240.length == 0);
-	assertTrue("2.21", libraries110.length == 0);
-	assertTrue("2.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment3.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("3.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("3.0", all.length == 4);
-	assertTrue("3.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("3.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("3.5", pd124);
-	assertNotNull("3.6", pd130);
-	assertNotNull("3.7", pd240);
-	assertNotNull("3.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("3.9", fragments.length == 1);
-	assertTrue("3.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("3.11", fragments[0].getPluginVersion().equals("2.1.1"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("3.12", linkedFragments124);
-	assertNull("3.13", linkedFragments130);
-	assertNotNull("3.14", linkedFragments240);
-	assertNull("3.15", linkedFragments110);
-	assertTrue("3.16", linkedFragments240.length == 1);
-	assertTrue("3.17", linkedFragments240[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("3.18", libraries124.length == 0);
-	assertTrue("3.19", libraries130.length == 0);
-	assertTrue("3.20", libraries240.length == 1);
-	assertTrue("3.21", libraries110.length == 0);
-	assertTrue("3.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment4.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("4.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("4.0", all.length == 4);
-	assertTrue("4.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("4.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("4.5", pd124);
-	assertNotNull("4.6", pd130);
-	assertNotNull("4.7", pd240);
-	assertNotNull("4.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("4.9", fragments.length == 1);
-	assertTrue("4.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("4.11", fragments[0].getPluginVersion().equals("2.5.0"));
-	
-	// Now make sure we didn't hood this fragment anywhere
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("4.12", linkedFragments124);
-	assertNull("4.13", linkedFragments130);
-	assertNull("4.14", linkedFragments240);
-	assertNull("4.15", linkedFragments110);
-	
-	// Finally, make sure the library entry didn't show
-	// up in any of the plugins
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("4.16", libraries124.length == 0);
-	assertTrue("4.17", libraries130.length == 0);
-	assertTrue("4.18", libraries240.length == 0);
-	assertTrue("4.19", libraries110.length == 0);
-}
-
-public void test5() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment5.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("5.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("5.0", all.length == 4);
-	assertTrue("5.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("5.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("5.5", pd124);
-	assertNotNull("5.6", pd130);
-	assertNotNull("5.7", pd240);
-	assertNotNull("5.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("5.9", fragments.length == 1);
-	assertTrue("5.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("5.11", fragments[0].getPluginVersion().equals("1.2.4"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("5.12", linkedFragments124);
-	assertNotNull("5.13", linkedFragments130);
-	assertNull("5.14", linkedFragments240);
-	assertNull("5.15", linkedFragments110);
-	assertTrue("5.16", linkedFragments130.length == 1);
-	assertTrue("5.17", linkedFragments130[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("5.18", libraries124.length == 0);
-	assertTrue("5.19", libraries130.length == 1);
-	assertTrue("5.20", libraries240.length == 0);
-	assertTrue("5.21", libraries110.length == 0);
-	assertTrue("5.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test6() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment6.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("6.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("6.0", all.length == 4);
-	assertTrue("6.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("6.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("6.5", pd124);
-	assertNotNull("6.6", pd130);
-	assertNotNull("6.7", pd240);
-	assertNotNull("6.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("6.9", fragments.length == 1);
-	assertTrue("6.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("6.11", fragments[0].getPluginVersion().equals("3.0.0"));
-	
-	// Now make sure we didn't hook this fragment anywhere
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("6.12", linkedFragments124);
-	assertNull("6.13", linkedFragments130);
-	assertNull("6.14", linkedFragments240);
-	assertNull("6.15", linkedFragments110);
-	
-	// Finally, make sure the library entry in the fragment doesn't
-	// show up in any of the plugins
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("6.16", libraries124.length == 0);
-	assertTrue("6.17", libraries130.length == 0);
-	assertTrue("6.18", libraries240.length == 0);
-	assertTrue("6.19", libraries110.length == 0);
-}
-
-public void test7() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[5];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String[] pluginPath = new String[5];
-		pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
-		pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
-		pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
-		pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
-		pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment7.xml");
-		for (int i = 0; i < pluginPath.length; i++) {
-			pluginURLs[i] = new URL (pluginPath[i]);
-		}
-	} catch (java.net.MalformedURLException e) {
-		fail("7.0.1 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
-	// We should have 4 plugins all with id 'tests.a'
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("7.0", all.length == 4);
-	assertTrue("7.1", all[0].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.2", all[1].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.3", all[2].getUniqueIdentifier().equals("tests.a"));
-	assertTrue("7.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
-	// Make sure we got all the version numbers
-	IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
-	IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
-	IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
-	IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
-	assertNotNull("7.5", pd124);
-	assertNotNull("7.6", pd130);
-	assertNotNull("7.7", pd240);
-	assertNotNull("7.8", pd110);
-
-	// Check the fragment list.  There should only be one
-	PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-	assertTrue("7.9", fragments.length == 1);
-	assertTrue("7.10", fragments[0].getId().equals("fragmentTest"));
-	assertTrue("7.11", fragments[0].getPluginVersion().equals("2.4.0"));
-	
-	// Now make sure we hooked this fragment to the right plugin (and only
-	// one plugin)
-	PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
-	PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
-	PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
-	PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
-	assertNull("7.12", linkedFragments124);
-	assertNull("7.13", linkedFragments130);
-	assertNotNull("7.14", linkedFragments240);
-	assertNull("7.15", linkedFragments110);
-	assertTrue("7.16", linkedFragments240.length == 1);
-	assertTrue("7.17", linkedFragments240[0].getId().equals("fragmentTest"));
-	
-	// Finally, make sure the library entry in the fragment is
-	// now part of the proper plugin
-	ILibrary[] libraries124 = pd124.getRuntimeLibraries();
-	ILibrary[] libraries130 = pd130.getRuntimeLibraries();
-	ILibrary[] libraries240 = pd240.getRuntimeLibraries();
-	ILibrary[] libraries110 = pd110.getRuntimeLibraries();
-	assertTrue("7.18", libraries124.length == 0);
-	assertTrue("7.19", libraries130.length == 0);
-	assertTrue("7.20", libraries240.length == 1);
-	assertTrue("7.21", libraries110.length == 0);
-	assertTrue("7.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_8("test1"));
-	suite.addTest(new FragmentResolveTest_8("test2"));
-	suite.addTest(new FragmentResolveTest_8("test3"));
-	suite.addTest(new FragmentResolveTest_8("test4"));
-	suite.addTest(new FragmentResolveTest_8("test5"));
-	suite.addTest(new FragmentResolveTest_8("test6"));
-	suite.addTest(new FragmentResolveTest_8("test7"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
deleted file mode 100644
index 46fc343..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_9 extends EclipseWorkspaceTest {
-public FragmentResolveTest_9() {
-	super(null);
-}
-public FragmentResolveTest_9(String name) {
-	super(name);
-}
-
-public void fullTest() {
-	String[] fragmentIds = {"1.3.2", "1.3.7", "1.2.5", "1.2.8",
-		"1.2.2", "1.2.0", "1.1.5", "1.1.0", "1.3.5", "3.0.0", "3.2.5", "3.2.4"}; 
-	boolean[] matchesFragment = {false, false, true, false,
-		true, true, true, true, false, false, false, false};
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	for (int i = 0; i < fragmentIds.length; i++) {
-		URL pluginURLs[] = new URL[2];
-		try {
-			PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-			String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.9/plugin1.xml");
-			pluginURLs[0] = new URL (pluginPath);
-			pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.9/fragment" + (i + 1) + ".xml");
-			pluginURLs[1] = new URL (pluginPath);
-		} catch (java.net.MalformedURLException e) {
-			fail("0.0.1 Unexpected exception - " + e.getMessage());
-		}
-		IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-		IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-	
-		// check descriptor
-		assertNotNull(i + ".0", pd);
-		assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-	
-		// check to see if we have all plugins
-		IPluginDescriptor[] all = registry.getPluginDescriptors();
-		assertTrue(i + ".2", all.length == 1);
-		assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
-		assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.5")));
-	
-		// Check the fragment list.  There should only be one
-		PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
-		assertTrue(i + ".5", fragment.length == 1);
-		assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-		
-		// Have we got all the fragments
-		PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
-		assertTrue(i + ".7", fragments.length == 1);
-		assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
-		assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-		
-		if (matchesFragment[i]) {
-			// Now make sure we hooked this fragment and this plugin
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNotNull(i + ".10", linkedFragments);
-			assertTrue(i + ".11", linkedFragments.length == 1);
-			assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-			
-			// Finally, make sure the library entry in the fragment is
-			// now part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".13", libraries.length == 1);
-			assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-		} else {
-			// Now make sure we didn't hook this fragment and this plugin.
-			PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
-			assertNull(i + ".10", linkedFragments);
-			
-			// Finally, make sure the library entry in the fragment is
-			// not part of the plugin
-			ILibrary[] libraries = pd.getRuntimeLibraries();
-			assertTrue(i + ".11", libraries.length == 0);
-		}
-	}
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new FragmentResolveTest_9("fullTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
deleted file mode 100644
index 97a2d8d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class GetPluginPathTest extends WorkspaceSessionTest {
-	
-public GetPluginPathTest() {
-	super(null);
-}
-public GetPluginPathTest(String name) {
-	super(name);
-}
-public void testGetRelevantStrings() {
-	String basePath = null;
-	String pluginPath = null;
-	String pluginName = "org.eclipse.core.tests.runtime";
-	
-	pluginPath = ((PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor(pluginName)).getLocation().concat("Plugin_Testing/plugins.activation.1/");
-	int i = pluginPath.indexOf(pluginName);
-	if (i != -1)
-		basePath = pluginPath.substring (0, i);
-	if (basePath == null && pluginPath == null)
-		return;
-		
-	String fileName = System.getProperty("user.dir").concat("/testingTemp.plugin-path");
-	File pluginPathFile = new File(fileName);
-	DataOutputStream output = null;
-	try {
-		output = new DataOutputStream(new FileOutputStream(pluginPathFile));
-	} catch (IOException ioe) {
-		System.out.print ("1.0 IOException encountered on creation of " + fileName);
-	}
-	PrintWriter printNow = new PrintWriter (output);
-	try {
-		if (basePath != null)
-			printNow.println("base=" + basePath);
-		if (pluginPath != null)
-			printNow.println("test=" + pluginPath);
-	} finally {
-		try {
-			printNow.flush();
-			printNow.close();
-			output.close();
-		} catch (IOException ioe) {
-		}
-	}
-	pluginPathFile.delete();
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
deleted file mode 100644
index a9fd1b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.*;
-
-public class JarPluginPathTest extends WorkspaceSessionTest {
-	
-public JarPluginPathTest() {
-	super(null);
-}
-public JarPluginPathTest(String name) {
-	super(name);
-}
-public void test1() {
-	String basePath = null;
-	String pluginPath = null;
-	String pluginName = "org.eclipse.core.tests.runtime";
-	
-	pluginPath = ((PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor(pluginName)).getLocation().concat("Plugin_Testing/LibraryLookupTests/JarLookupTests/");
-	int i = pluginPath.indexOf(pluginName);
-	if (i != -1)
-		basePath = pluginPath.substring (0, i);
-	if (basePath == null && pluginPath == null)
-		return;
-		
-	String fileName = System.getProperty("user.dir").concat("/testingTemp.tempPlugin-path");
-	File pluginPathFile = new File(fileName);
-	DataOutputStream output = null;
-	try {
-		output = new DataOutputStream(new FileOutputStream(pluginPathFile));
-	} catch (IOException ioe) {
-		System.out.print ("1.0 IOException encountered on creation of " + fileName);
-	}
-	PrintWriter printNow = new PrintWriter (output);
-	try {
-		if (basePath != null)
-			printNow.println("base=" + basePath);
-		if (pluginPath != null)
-			printNow.println("test=" + pluginPath);
-	} finally {
-		try {
-			printNow.flush();
-			printNow.close();
-			output.close();
-		} catch (IOException ioe) {
-		}
-	}
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
deleted file mode 100644
index b714010..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class JarSearchTests extends WorkspaceSessionTest {
-	
-public JarSearchTests() {
-	super(null);
-}
-public JarSearchTests(String name) {
-	super(name);
-}
-public void test1() {
-	IPluginRegistry registry = Platform.getPluginRegistry();
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors("JarLookupTest1");
-	assertTrue("1.0 Only one jarLookup1 plugin", plugins.length == 1);
-	System.out.println("jarLookup1 plugin name = " + plugins[0].getLabel());
-	assertTrue("1.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 1"));
-
-	plugins = registry.getPluginDescriptors("JarLookupTest2");
-	assertTrue("2.0 Only one jarLookup2 plugin", plugins.length == 1);
-	System.out.println("jarLookup2 plugin name = " + plugins[0].getLabel());
-	assertTrue("2.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 2"));
-
-	plugins = registry.getPluginDescriptors("JarLookupTest3");
-	assertTrue("3.0 Only one jarLookup3 plugin", plugins.length == 1);
-	System.out.println("jarLookup3 plugin name = " + plugins[0].getLabel());
-	assertTrue("3.1 Plugin name translated", plugins[0].getLabel().equals("%pluginName"));
-
-	plugins = registry.getPluginDescriptors("JarLookupTest4");
-	assertTrue("4.0 Only one jarLookup4 plugin", plugins.length == 1);
-	System.out.println("jarLookup4 plugin name = " + plugins[0].getLabel());
-	assertTrue("4.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 4"));
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
deleted file mode 100644
index 670cea0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class LoaderTest extends WorkspaceSessionTest {
-public LoaderTest() {
-	super(null);
-}
-public LoaderTest(String name) {
-	super(name);
-}
-public void testBase() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	// get plugin loaders
-	Plugin p = null;
-
-	try {
-		p = pluginA.getPlugin();
-	} catch (CoreException e) {
-		fail("2.0.0");
-	}
-	assertTrue("2.0.1", pluginA.isPluginActivated());
-	assertTrue("2.1", !pluginB.isPluginActivated());
-	assertTrue("2.2", !pluginC.isPluginActivated());
-	assertTrue("2.3", !pluginD.isPluginActivated());
-	ClassLoader loaderA = p.getClass().getClassLoader();
-
-	try {
-		p = pluginB.getPlugin();
-	} catch (CoreException e) {
-		fail("3.0.0");
-	}
-	assertTrue("3.0.1", pluginA.isPluginActivated());
-	assertTrue("3.1", pluginB.isPluginActivated());
-	assertTrue("3.2", !pluginC.isPluginActivated());
-	assertTrue("3.3", !pluginD.isPluginActivated());
-	ClassLoader loaderB = p.getClass().getClassLoader();
-
-	try {
-		p = pluginC.getPlugin();
-	} catch (CoreException e) {
-		fail("4.0.0");
-	}
-	assertTrue("4.0.1", pluginA.isPluginActivated());
-	assertTrue("4.1", pluginB.isPluginActivated());
-	assertTrue("4.2", pluginC.isPluginActivated());
-	assertTrue("4.3", !pluginD.isPluginActivated());
-	ClassLoader loaderC = p.getClass().getClassLoader();
-
-	try {
-		p = pluginD.getPlugin();
-	} catch (CoreException e) {
-		fail("5.0.0");
-	}
-	assertTrue("5.0.1", pluginA.isPluginActivated());
-	assertTrue("5.1", pluginB.isPluginActivated());
-	assertTrue("5.2", pluginC.isPluginActivated());
-	assertTrue("5.3", pluginD.isPluginActivated());
-	ClassLoader loaderD = p.getClass().getClassLoader();
-
-	// try to load classes
-
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "6.1");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", false, "6.2");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", false, "6.3");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "6.4");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "6.5");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.b.PluginClass", false, "6.6");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "6.7");
-	load(loaderD, "org.eclipse.core.tests.internal.plugin.d.PluginClass", true, "6.8");
-	load(loaderD, "plugin.c.ExportedClass", false, "6.9");
-
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "7.1");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", false, "7.2");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "7.3");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", false, "7.4");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "7.5");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.b.PluginClass", false, "7.6");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.c.PluginClass", true, "7.7");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "7.8");
-	load(loaderC, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "7.9");
-
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "8.1");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "8.2");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "8.3");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "8.4");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "8.5");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "8.6");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "8.7");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "8.8");
-	load(loaderB, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "8.9");
-
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", true, "9.1");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "9.2");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "9.3");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", false, "9.4");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.a.PluginClass", true, "9.5");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "9.6");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "9.7");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "9.8");
-	load(loaderA, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "9.9");
-
-	load(null, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", true, "10.1");
-	load(null, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "10.2");
-	load(null, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "10.3");
-	load(null, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "10.4");
-	load(null, "org.eclipse.core.tests.internal.plugin.a.PluginClass", true, "10.5");
-	load(null, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "10.6");
-	load(null, "org.eclipse.core.tests.internal.plugin.c.PluginClass", true, "10.7");
-	load(null, "org.eclipse.core.tests.internal.plugin.d.PluginClass", true, "10.8");
-	load(null, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "10.9");
-
-}
-public String getResource(Object o, String name, boolean success, String msg) {
-
-	String result = null;
-	InputStream content;
-	byte[] buf;
-
-	URL url;
-	if (o instanceof Class)
-		url = ((Class) o).getResource(name);
-	else
-		url = ((ClassLoader) o).getResource(name);
-
-	if (success) {
-		assertTrue(msg + "0", url != null);
-		try {
-			content = url.openStream();
-			buf = new byte[content.available()];
-			content.read(buf);
-			content.close();
-			result = (new String(buf)).trim();
-		} catch (IOException ea) {
-			fail(msg + "1 " + ea);
-		}
-	} else
-		assertTrue(msg + "2", url == null);
-
-	return result;
-}
-public Vector getResources(ClassLoader loader, String name, String msg) {
-
-	Vector result = new Vector();
-	Enumeration enum;
-	String file = null;
-	String tmp = null;
-	try {
-		enum = loader.getResources(name);
-		while (enum.hasMoreElements()) {
-			file = ((URL) enum.nextElement()).getFile();
-			tmp = file.substring(0, file.length() - name.length() - 1);
-			tmp = tmp.substring(tmp.length() - 1, tmp.length());
-			result.add(tmp);
-		}
-	} catch (IOException e) {
-		fail(msg + "0" + e.getMessage());
-	}
-	return result;
-}
-public void getResourcesTest() {
-
-	String path = "org.eclipse.core.tests.internal.plugins";
-//	String clazz = path + ".TestClass";
-	String res = "test.txt";
-	String absres = path.replace('.', '/') + "/" + res;
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	// get loaders
-	Plugin p = null;
-	ClassLoader platform = Platform.class.getClassLoader();
-
-	try {
-		p = pluginA.getPlugin();
-	} catch (CoreException e) {
-		fail("2.0");
-	}
-	ClassLoader loaderA = p.getClass().getClassLoader();
-
-	try {
-		p = pluginB.getPlugin();
-	} catch (CoreException e) {
-		fail("3.0");
-	}
-	ClassLoader loaderB = p.getClass().getClassLoader();
-
-	try {
-		p = pluginC.getPlugin();
-	} catch (CoreException e) {
-		fail("4.0");
-	}
-	ClassLoader loaderC = p.getClass().getClassLoader();
-
-	try {
-		p = pluginD.getPlugin();
-	} catch (CoreException e) {
-		fail("5.0");
-	}
-	ClassLoader loaderD = p.getClass().getClassLoader();
-
-	// load resources for A
-	Vector v;
-	v = getResources(loaderA, absres, "6.0.");
-	assertTrue("6.1", v.size() == 1);
-	assertTrue("6.2", v.contains("C"));
-
-	// load resources for B
-	v = getResources(loaderB, absres, "7.0.");
-	assertTrue("7.1", v.size() == 3);
-	assertTrue("7.2", v.contains("B"));
-	assertTrue("7.3", v.contains("C"));
-	assertTrue("7.4", v.contains("D"));
-
-	// load resources for C
-	v = getResources(loaderC, absres, "8.0.");
-	assertTrue("8.1", v.size() == 1);
-	assertTrue("8.2", v.contains("C"));
-
-	// load resources for D
-	v = getResources(loaderD, absres, "9.0.");
-	assertTrue("9.1", v.size() == 1);
-	assertTrue("9.2", v.contains("D"));
-
-	// load resources for platform
-	v = getResources(platform, absres, "9.0.");
-	assertTrue("9.1", v.size() == 0);
-
-}
-public void getResourceTest() {
-
-	String path = "org.eclipse.core.tests.internal.plugins";
-	String clazz = path + ".TestClass";
-	String res = "test.txt";
-	String absres = path.replace('.', '/') + "/" + res;
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	// get plugin loaders
-	Plugin p = null;
-
-	try {
-		p = pluginA.getPlugin();
-	} catch (CoreException e) {
-		fail("2.0");
-	}
-	ClassLoader loaderA = p.getClass().getClassLoader();
-
-	try {
-		p = pluginB.getPlugin();
-	} catch (CoreException e) {
-		fail("3.0");
-	}
-	ClassLoader loaderB = p.getClass().getClassLoader();
-
-	try {
-		p = pluginC.getPlugin();
-	} catch (CoreException e) {
-		fail("4.0");
-	}
-	ClassLoader loaderC = p.getClass().getClassLoader();
-
-	try {
-		p = pluginD.getPlugin();
-	} catch (CoreException e) {
-		fail("5.0");
-	}
-	ClassLoader loaderD = p.getClass().getClassLoader();
-
-	Class test = load(loaderA, clazz, true, "6.0");
-	String text = null;
-
-	// load resources relative to class from plugin A
-
-	text = getResource(test, res, true, "7.0.");
-	assertTrue("7.1", text.equals("Text from Plugin C")); // delegated
-
-	// load resources directly
-
-	text = getResource(loaderA, absres, true, "8.0.");
-	assertTrue("8.1", text.equals("Text from Plugin C")); // delegated
-
-	text = getResource(loaderB, absres, true, "9.0.");
-	assertTrue("9.1", text.equals("Text from Plugin B"));
-
-	text = getResource(loaderC, absres, true, "10.0.");
-	assertTrue("10.1", text.equals("Text from Plugin C"));
-
-	text = getResource(loaderD, absres, true, "11.0.");
-	assertTrue("11.1", text.equals("Text from Plugin D"));
-
-	text = getResource(Platform.class.getClassLoader(), absres, false, "12.0.");
-}
-public Class load(ClassLoader loader, String name, boolean success, String msg) {
-
-	Class result = null;
-	try {
-		if (loader == null)
-			result = Class.forName(name);
-		else
-			result = loader.loadClass(name);
-		if (!success)
-			fail(msg + ".0");
-	} catch (ClassNotFoundException e) {
-		if (success)
-			// We should have found this class
-			fail(msg + ".1");
-		// else
-			// We were expecting not to find this class so don't fail
-	} catch (Exception e) {
-		fail(msg + ".2" + e.getMessage());
-	}
-	return result;
-}
-//public static Test suite() {
-//	TestSuite suite = new TestSuite();
-//	suite.addTest(new LoaderTest("baseTest"));
-////	suite.addTest(new LoaderTest("xmlTest"));
-////	suite.addTest(new LoaderTest("getResourceTest"));
-////	suite.addTest(new LoaderTest("getResourcesTest"));
-//	return suite;
-//}
-public void xmlTest() {
-
-	// xml class
-	String xml = "org.apache.xerces.framework.XMLParser";
-
-	// get platform loader (has private copy of xml4j
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	ClassLoader platformLoader = Platform.class.getClassLoader();
-	assertTrue("0.0", platformLoader instanceof org.eclipse.core.internal.boot.PlatformClassLoader);
-
-	// get test plugin A (requires com.ibm.xml)
-	Plugin p = null;
-	IPluginDescriptor pdA = registry.getPluginDescriptor("plugin.a");
-	assertTrue("0.1.0", pdA != null);
-	try {
-		p = pdA.getPlugin();
-	} catch (CoreException e) {
-		fail("0.1.1.0");
-	}
-	assertTrue("0.1.2", pdA.isPluginActivated());
-	ClassLoader a = p.getClass().getClassLoader();
-	assertTrue("0.1.3", a instanceof org.eclipse.core.internal.plugins.PluginClassLoader);
-
-	// get test plugin D (contains unexported xml4j)
-	IPluginDescriptor pdD = registry.getPluginDescriptor("plugin.d");
-	assertTrue("0.2.0", pdD != null);
-	try {
-		p = pdD.getPlugin();
-	} catch (CoreException e) {
-		fail("0.2.1.0");
-	}
-	assertTrue("0.2.2", pdD.isPluginActivated());
-	ClassLoader d = p.getClass().getClassLoader();
-	assertTrue("0.2.3", d instanceof org.eclipse.core.internal.plugins.PluginClassLoader);
-
-	// load class
-	Class platformXML = load(platformLoader, xml, true, "1.0");
-	Class aXML = load(a, xml, true, "1.1");
-	Class dXML = load(d, xml, true, "1.2");
-
-	// jdk mode
-	assertTrue("2.0", platformXML != aXML);
-	assertTrue("2.1", platformXML != dXML);
-	assertTrue("2.2", aXML != dXML);
-	assertTrue("2.3", platformXML.getClassLoader() == platformLoader);
-	assertTrue("2.4", aXML.getClassLoader() != a); // loaded by prereq com.ibm.xml loader
-	assertTrue("2.5", dXML.getClassLoader() == d);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
deleted file mode 100644
index 6bc14a3..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class NumberOfElementsTest extends EclipseWorkspaceTest {
-
-public NumberOfElementsTest() {
-	super(null);
-}
-
-public NumberOfElementsTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new NumberOfElementsTest("numberRequiresTest"));
-	suite.addTest(new NumberOfElementsTest("numberRuntimeTest"));
-	return suite;
-}
-
-public void numberRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/numberOfRequires/plugin.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue ("1.0 Plugins should not validate", pluginDescriptors.length == 0);
-}
-
-public void numberRuntimeTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/numberOfRuntimes/plugin.xml");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertTrue ("2.0 Should have only one plugin", pluginDescriptors.length == 1);
-	PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
-	LibraryModel libraryArray[] = plugin.getRuntime();
-	// There should only be 3 library entries (not 6)
-	assertTrue ("2.1 Three library entries", libraryArray.length == 3);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
deleted file mode 100644
index bc0e2cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
+++ /dev/null
@@ -1,485 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class OrphanTest extends EclipseWorkspaceTest {
-public OrphanTest() {
-	super(null);
-}
-public OrphanTest(String name) {
-	super(name);
-}
-	// Comment out test1, 2 and 3 until bug 21465 - 
-	// "Plugin Resolving - reorder REQUIRES clause & different
-	// plugins are disabled" is fixed.
-
-public void test1() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 * 
-	 *     testb requires testd
-	 * 
-	 *     testc requires teste
-	 * 
-	 *     testd has no prerequisites but doesn't have all the
-	 *        required fields and will, therefore, be disabled
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 * The resulting plugin registry should contain only testc
-	 * and teste.  All other plugins should be disabled (and
-	 * trimmed).
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.1/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("1.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 2 plugins
-	assertEquals("1.1 Should only have 2 plugins", 2, pds.length);
-	// Should have a plugin testc and another called teste
-	IPluginDescriptor pd = registry.getPluginDescriptor("testc");
-	assertNotNull("1.2 Should find plugin testc", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("1.3 Should find plugin teste", pd);
-}
-
-public void test2() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 *     testa requires testd
-	 * 
-	 *     testb requires teste
-	 *     testb requires testf
-	 *     testb requires testg
-	 * 
-	 *     testc requires testh
-	 *     testc requires testi
-	 *     testc requires testj
-	 * 
-	 *     testd requires testk
-	 *     testd requires testl
-	 *     testd requires testm
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 *     testf has no prerequisites
-	 * 
-	 *     testg has no prerequisites
-	 * 
-	 *     testh has no prerequisites
-	 * 
-	 *     testi has no prerequisites and is missing a required
-	 *        field so it will be disabled
-	 * 
-	 *     testj has no prerequisites
-	 * 
-	 *     testk has no prerequisites
-	 * 
-	 *     testl has no prerequisites
-	 * 
-	 *     testm has no prerequisites
-	 * 
-	 * The resulting plugin registry should contain the following
-	 * plugins:
-	 *    testb
-	 *    testd
-	 *    teste
-	 *    testf
-	 *    testg
-	 *    testh
-	 *    testj
-	 *    testk
-	 *    testl
-	 *    testm
-	 * All other plugins (a, c, and i) should be disabled
-	 * (and trimmed).
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.2/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("2.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 10 plugins
-	assertEquals("2.1 Should only have 10 plugins", 10, pds.length);
-	// Should have a plugins as listed in comment above
-	IPluginDescriptor pd = registry.getPluginDescriptor("testb");
-	assertNotNull("2.2 Should find plugin testb", pd);
-	pd = registry.getPluginDescriptor("testd");
-	assertNotNull("2.3 Should find plugin testd", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("2.4 Should find plugin teste", pd);
-	pd = registry.getPluginDescriptor("testf");
-	assertNotNull("2.5 Should find plugin testf", pd);
-	pd = registry.getPluginDescriptor("testg");
-	assertNotNull("2.6 Should find plugin testg", pd);
-	pd = registry.getPluginDescriptor("testh");
-	assertNotNull("2.6 Should find plugin testh", pd);
-	pd = registry.getPluginDescriptor("testj");
-	assertNotNull("2.6 Should find plugin testj", pd);
-	pd = registry.getPluginDescriptor("testk");
-	assertNotNull("2.7 Should find plugin testk", pd);
-	pd = registry.getPluginDescriptor("testl");
-	assertNotNull("2.8 Should find plugin testl", pd);
-	pd = registry.getPluginDescriptor("testm");
-	assertNotNull("2.9 Should find plugin testm", pd);
-}
-
-public void test3() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     There are 2 root plugins - testa and testa2
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 *     testa requires testd
-	 * 
-	 *     testb requires teste
-	 *     testb requires testf
-	 *     testb requires testg
-	 * 
-	 *     testc requires testh
-	 *     testc requires testi
-	 *     testc requires testj
-	 * 
-	 *     testd has no prerequisites
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 *     testf has no prerequisites
-	 * 
-	 *     testg has no prerequisites
-	 * 
-	 *     testh has no prerequisites
-	 * 
-	 *     testi has no prerequisites and is missing a required
-	 *        field so it will be disabled
-	 * 
-	 *     testj has no prerequisites
-	 * 
-	 *     testa2 requires testb
-	 *     testa2 requires testd
-	 * 
-	 * The resulting plugin registry should contain the following
-	 * plugins:
-	 *    testb
-	 *    testd
-	 *    teste
-	 *    testf
-	 *    testg
-	 *    testh
-	 *    testj
-	 *    testa2
-	 * All other plugins (a, c, and i) should be disabled
-	 * (and trimmed).
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.3/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("3.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 8 plugins
-	assertEquals("3.1 Should only have 8 plugins", 8, pds.length);
-	// Should have a plugins as listed in comment above
-	IPluginDescriptor pd = registry.getPluginDescriptor("testb");
-	assertNotNull("3.2 Should find plugin testb", pd);
-	pd = registry.getPluginDescriptor("testd");
-	assertNotNull("3.3 Should find plugin testd", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("3.4 Should find plugin teste", pd);
-	pd = registry.getPluginDescriptor("testf");
-	assertNotNull("3.5 Should find plugin testf", pd);
-	pd = registry.getPluginDescriptor("testg");
-	assertNotNull("3.6 Should find plugin testg", pd);
-	pd = registry.getPluginDescriptor("testh");
-	assertNotNull("3.6 Should find plugin testh", pd);
-	pd = registry.getPluginDescriptor("testj");
-	assertNotNull("3.6 Should find plugin testj", pd);
-	pd = registry.getPluginDescriptor("testa2");
-	assertNotNull("3.7 Should find plugin testa2", pd);
-}
-
-public void test4() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 * 
-	 *     testb requires testd
-	 * 
-	 *     testc requires teste
-	 * 
-	 *     testd has no prerequisites but doesn't have all the
-	 *        required fields and will, therefore, be disabled
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 * The resulting plugin registry should contain only testc
-	 * and teste.  All other plugins should be disabled (and
-	 * trimmed).
-	 * 
-	 * This is the same as test1 but the order of the requires
-	 * in the plugin is such that any disabled plugins are at the
-	 * end of the requires clause.  Yes, this does make a
-	 * difference.  See bug 21465 - "Plugin Resolving - reorder
-	 * REQUIRES clause & different plugins are disabled".
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.4/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("4.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 2 plugins
-	assertEquals("4.1 Should only have 2 plugins", 2, pds.length);
-	// Should have a plugin testc and another called teste
-	IPluginDescriptor pd = registry.getPluginDescriptor("testc");
-	assertNotNull("4.2 Should find plugin testc", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("4.3 Should find plugin teste", pd);
-}
-
-public void test5() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 *     testa requires testd
-	 * 
-	 *     testb requires teste
-	 *     testb requires testf
-	 *     testb requires testg
-	 * 
-	 *     testc requires testh
-	 *     testc requires testi
-	 *     testc requires testj
-	 * 
-	 *     testd requires testk
-	 *     testd requires testl
-	 *     testd requires testm
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 *     testf has no prerequisites
-	 * 
-	 *     testg has no prerequisites
-	 * 
-	 *     testh has no prerequisites
-	 * 
-	 *     testi has no prerequisites and is missing a required
-	 *        field so it will be disabled
-	 * 
-	 *     testj has no prerequisites
-	 * 
-	 *     testk has no prerequisites
-	 * 
-	 *     testl has no prerequisites
-	 * 
-	 *     testm has no prerequisites
-	 * 
-	 * The resulting plugin registry should contain the following
-	 * plugins:
-	 *    testb
-	 *    testd
-	 *    teste
-	 *    testf
-	 *    testg
-	 *    testh
-	 *    testj
-	 *    testk
-	 *    testl
-	 *    testm
-	 * All other plugins (a, c, and i) should be disabled
-	 * (and trimmed).
-	 * 
-	 * This is the same as test2 but the order of the requires
-	 * in the plugin is such that any disabled plugins are at the
-	 * end of the requires clause.  Yes, this does make a
-	 * difference.  See bug 21465 - "Plugin Resolving - reorder
-	 * REQUIRES clause & different plugins are disabled".
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.5/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("5.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 10 plugins
-	assertEquals("5.1 Should only have 10 plugins", 10, pds.length);
-	// Should have a plugins as listed in comment above
-	IPluginDescriptor pd = registry.getPluginDescriptor("testb");
-	assertNotNull("5.2 Should find plugin testb", pd);
-	pd = registry.getPluginDescriptor("testd");
-	assertNotNull("5.3 Should find plugin testd", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("5.4 Should find plugin teste", pd);
-	pd = registry.getPluginDescriptor("testf");
-	assertNotNull("5.5 Should find plugin testf", pd);
-	pd = registry.getPluginDescriptor("testg");
-	assertNotNull("5.6 Should find plugin testg", pd);
-	pd = registry.getPluginDescriptor("testh");
-	assertNotNull("5.6 Should find plugin testh", pd);
-	pd = registry.getPluginDescriptor("testj");
-	assertNotNull("5.6 Should find plugin testj", pd);
-	pd = registry.getPluginDescriptor("testk");
-	assertNotNull("5.7 Should find plugin testk", pd);
-	pd = registry.getPluginDescriptor("testl");
-	assertNotNull("5.8 Should find plugin testl", pd);
-	pd = registry.getPluginDescriptor("testm");
-	assertNotNull("5.9 Should find plugin testm", pd);
-}
-
-public void test6() {
-	/*  Plugin structure is as follows:
-	 * 
-	 *     There are 2 root plugins - testa and testa2
-	 * 
-	 *     testa requires testb
-	 *     testa requires testc
-	 *     testa requires testd
-	 * 
-	 *     testb requires teste
-	 *     testb requires testf
-	 *     testb requires testg
-	 * 
-	 *     testc requires testh
-	 *     testc requires testi
-	 *     testc requires testj
-	 * 
-	 *     testd has no prerequisites
-	 * 
-	 *     teste has no prerequisites
-	 * 
-	 *     testf has no prerequisites
-	 * 
-	 *     testg has no prerequisites
-	 * 
-	 *     testh has no prerequisites
-	 * 
-	 *     testi has no prerequisites and is missing a required
-	 *        field so it will be disabled
-	 * 
-	 *     testj has no prerequisites
-	 * 
-	 *     testa2 requires testb
-	 *     testa2 requires testd
-	 * 
-	 * The resulting plugin registry should contain the following
-	 * plugins:
-	 *    testb
-	 *    testd
-	 *    teste
-	 *    testf
-	 *    testg
-	 *    testh
-	 *    testj
-	 *    testa2
-	 * All other plugins (a, c, and i) should be disabled
-	 * (and trimmed).
-	 * 
-	 * This is the same as test3 but the order of the requires
-	 * in the plugin is such that any disabled plugins are at the
-	 * end of the requires clause.  Yes, this does make a
-	 * difference.  See bug 21465 - "Plugin Resolving - reorder
-	 * REQUIRES clause & different plugins are disabled".
-	 */
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.6/");
-		pluginURLs[0] = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("6.0 Unexpected exception - " + e.getMessage());
-	}
-	IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-	IPluginDescriptor[] pds = registry.getPluginDescriptors();
-	// Should only be 8 plugins
-	assertEquals("6.1 Should only have 8 plugins", 8, pds.length);
-	// Should have a plugins as listed in comment above
-	IPluginDescriptor pd = registry.getPluginDescriptor("testb");
-	assertNotNull("6.2 Should find plugin testb", pd);
-	pd = registry.getPluginDescriptor("testd");
-	assertNotNull("6.3 Should find plugin testd", pd);
-	pd = registry.getPluginDescriptor("teste");
-	assertNotNull("6.4 Should find plugin teste", pd);
-	pd = registry.getPluginDescriptor("testf");
-	assertNotNull("6.5 Should find plugin testf", pd);
-	pd = registry.getPluginDescriptor("testg");
-	assertNotNull("6.6 Should find plugin testg", pd);
-	pd = registry.getPluginDescriptor("testh");
-	assertNotNull("6.6 Should find plugin testh", pd);
-	pd = registry.getPluginDescriptor("testj");
-	assertNotNull("6.6 Should find plugin testj", pd);
-	pd = registry.getPluginDescriptor("testa2");
-	assertNotNull("6.7 Should find plugin testa2", pd);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new OrphanTest("test1"));
-	suite.addTest(new OrphanTest("test2"));
-	suite.addTest(new OrphanTest("test3"));
-	suite.addTest(new OrphanTest("test4"));
-	suite.addTest(new OrphanTest("test5"));
-	suite.addTest(new OrphanTest("test6"));
-	return suite;
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
deleted file mode 100644
index 0b30569..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.IStatus;
-public class ParseHelper extends PluginVersionTest {
-/**
- * ParseHelper constructor comment.
- */
-public ParseHelper() {
-	super();
-}
-/**
- * ParseHelper constructor comment.
- * @param name java.lang.String
- */
-public ParseHelper(String name) {
-	super(name);
-}
-/* doParsing
- * This method will parse a series of XML files.  The input array should be
- * an array of string buffers where each string buffer is considered a complete 
- * XML file.  The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	if (doResolve) {
-		IStatus resolveStatus = registry.resolve(true, true);
-		factory.getStatus().merge(resolveStatus);
-	}
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
deleted file mode 100644
index a4e47a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class PlatformURLPerformanceTest extends WorkspaceSessionTest {
-public PlatformURLPerformanceTest() {
-	super(null);
-}
-public PlatformURLPerformanceTest(String name) {
-	super(name);
-}
-public long doLoad(String urls, String clazz, int count) {
-
-	// force gc at start of test
-	for (int i = 0; i < 2; i++) {
-		System.runFinalization();
-		System.gc();
-	}
-
-	long time = 0;
-	long first = 0;
-	long last = 0;
-	try {
-		System.out.println(urls);
-		URL path = new URL(urls);
-		time = (new java.util.Date()).getTime();
-		for (int i=0; i<count; i++) {
-			if (i==1) first = (new java.util.Date()).getTime();
-			URLClassLoader l = null;
-			l = new URLClassLoader(new URL[] {path},null);
-			l.loadClass(clazz);
-		}
-		last = (new java.util.Date()).getTime();
-		time = last-time;
-		System.out.println("Total: "+time+" ["+(last-first)+"]");
-		System.out.println("Average: "+(time/count)+" ["+((last-first)/count-1)+"]");
-	}
-	catch(Exception e) { System.out.println(e); }
-	
-	return time;
-}
-public void testPlatformURLCompareTest() {
-
-	// -cp file:some.jar
-	// -cp jar:file:some.jar!/
-	// -cp platform:/test/some.jar!/ with file: install
-
-	// -cp jar:http:some.jar!/
-	// -cp platform:/test/some.jar!/ with http: install
-
-	int count = 250; // # of load iterations
-	String jar = "plugin_a_external.jar";
-	String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-	assertNotNull ("0.0", pd);
-
-	URL base = ((PluginDescriptor) pd).getInstallURLInternal();
-	PlatformURLPerformanceTestConnection.startup(base);
-
-	System.out.println(clazz);
-	System.out.println("Count: " + count);
-
-	// local loads
-
-	String f = (new java.io.File(base.getFile())).getAbsolutePath();
-	f = (f + "/").replace('\\', '/');
-	String pathFile = "file:" + f + jar;
-	String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
-	String pathEclipse = "platform:/test/" + jar + "!/";
-	String pathPlugin = pd.getInstallURL().toExternalForm() + jar + "!/";
-
-	doLoad(pathFile, clazz, count);
-
-	doLoad(pathJar, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathPlugin, clazz, count);
-
-	doLoad(pathPlugin, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathJar, clazz, count);
-
-	doLoad(pathFile, clazz, count);
-}
-public void testPlatformURLCompareTestLocal() {
-
-	// -cp file:some.jar
-	// -cp jar:file:some.jar!/
-	// -cp platform:/test/some.jar!/
-	// -cp platform:/plugin/.../some.jar!/
-
-	int count = 250; // # of load iterations
-	String jar = "plugin_a_external.jar";
-	String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-	assertNotNull("0.0", pd);
-
-	URL base = ((PluginDescriptor) pd).getInstallURLInternal();
-	PlatformURLPerformanceTestConnection.startup(base);
-
-	System.out.println(clazz);
-	System.out.println("Count: " + count);
-
-	// local loads
-
-	String f = (new java.io.File(base.getFile())).getAbsolutePath();
-	f = (f + "/").replace('\\', '/');
-	String pathFile = "file:" + f + jar;
-	String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
-	String pathEclipse = "platform:/test/" + jar + "!/";
-	String pathPlugin = pd.getInstallURL().toExternalForm() + jar + "!/";
-
-	doLoad(pathFile, clazz, count);
-
-	doLoad(pathJar, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathPlugin, clazz, count);
-
-	doLoad(pathPlugin, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathJar, clazz, count);
-
-	doLoad(pathFile, clazz, count);
-}
-public void xxxtestPlatformURLCompareTestServer() {
-	
-	// Ignore this test for now as it relies on a server which
-	// no longer exists.  Need to find some universal way of
-	// testing this.
-
-	// -cp jar:http:some.jar!/
-	// -cp platform:/test/some.jar!/
-
-	int count = 250; // # of load iterations
-	String jar = "plugin_a_external.jar";
-	String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
-	String server = "http://vlad.torolab.ibm.com/test/";
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-	assertNotNull("0.0", pd);
-
-	URL base = null;
-	try {
-		base = new URL(server);
-	} catch (Exception e) {
-		System.out.println(e);
-		return;
-	}
-	PlatformURLPerformanceTestConnection.startup(base);
-
-	System.out.println("Test requires manual setup of " + server);
-	System.out.println(clazz);
-	System.out.println("Count: " + count);
-
-	// poke server to wake it up plus force any server caching so all tests
-	// are on equal footing
-
-	InputStream tmpis = null;
-	try {
-		URL tmp = new URL(server + jar);
-		tmpis = tmp.openStream();
-		byte[] buf = new byte[4096];
-		int tmpcount = tmpis.read(buf);
-		while (tmpcount != -1) {
-			tmpcount = tmpis.read(buf);
-		}
-		tmpis.close();
-		tmpis = null;
-	} catch (Exception e) {
-		System.out.println("Error initializing server");
-		if (tmpis != null)
-			try {
-				tmpis.close();
-			} catch (Exception e2) {
-			}
-		return;
-	}
-
-	// remote loads
-
-	String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
-	String pathEclipse = "platform:/test/" + jar + "!/";
-
-	doLoad(pathJar, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathEclipse, clazz, count);
-
-	doLoad(pathJar, clazz, count);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
deleted file mode 100644
index c6fe66f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-/*
- * Licensed Materials - Property of IBM,
- * WebSphere Studio Workbench
- * (c) Copyright IBM Corp 2000
- */
-
-/**
- * Eclipse URL support
- * platform:platform/	maps to platform installation location
- */
-
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-
-public class PlatformURLPerformanceTestConnection extends PlatformURLConnection {
-
-	// platform/ protocol
-	public static final String TEST = "test";
-	private static URL installURL;
-public PlatformURLPerformanceTestConnection() {
-	super(null);
-}
-public PlatformURLPerformanceTestConnection(URL url) {
-	super(url);
-}
-protected boolean allowCaching() {
-	return true;
-}
-protected URL resolve() throws IOException {
-	
-	String spec = url.getFile().trim();
-	if (spec.startsWith("/")) spec = spec.substring(1);
-
-	if (!spec.startsWith(TEST+"/")) throw new IOException("Unsupported protocol variation "+url.toString());
-
-	return spec.length()==TEST.length()+1 ? installURL : new URL(installURL,spec.substring(TEST.length()+1)); 
-}
-public static void startup(URL url) {
-	
-	// register connection type for platform:/plugin handling
-	installURL = url;
-	PlatformURLHandler.register(TEST, PlatformURLPerformanceTestConnection.class);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PlatformURLPerformanceTest("platformURLCompareTestLocal"));
-//	suite.addTest(new PlatformURLPerformanceTest("platformURLCompareTestServer"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
deleted file mode 100644
index 581c9c4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
+++ /dev/null
@@ -1,538 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class PlatformURLTest extends WorkspaceSessionTest {
-public PlatformURLTest() {
-	super(null);
-}
-public PlatformURLTest(String name) {
-	super(name);
-}
-public URL createURL(String id, String spec, boolean success) {
-
-	URL url = null;
-
-	try {
-		url = new URL(spec);
-		if (!success)
-			fail(id + ".0 " + url.toString());
-	} catch (MalformedURLException e) {
-		if (success)
-			fail(id + ".1 " + e);
-	}
-
-	return url;
-
-}
-public URL createURL(String id, URL base, String spec, boolean success) {
-
-	URL url = null;
-
-	try {
-		url = new URL(base, spec);
-		if (!success)
-			fail(id + ".0 " + url.toString());
-	} catch (MalformedURLException e) {
-		if (success)
-			fail(id + ".1 " + e);
-	}
-
-	return url;
-
-}
-public void testPlatformURLLoader() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-	assertNotNull("0.0", pd);
-
-	URL path = null;
-	try {
-		path = new URL(pd.getInstallURL(), "plugin_a_external.jar!/");
-	} catch (MalformedURLException e) {
-		fail("1.0 " + e);
-	};
-
-	// load a class from a jar
-	ClassLoader l = new URLClassLoader(new URL[] { path }, null);
-	Class c = null;
-	try {
-		c = l.loadClass("org.eclipse.core.tests.internal.plugin.a.Dummy");
-	} catch (ClassNotFoundException e) {
-		fail("2.0 " + e);
-	};
-	URL src = c.getProtectionDomain().getCodeSource().getLocation();
-
-	// do it again using new loader
-	l = new URLClassLoader(new URL[] { path }, null);
-	c = null;
-	try {
-		c = l.loadClass("org.eclipse.core.tests.internal.plugin.a.Dummy");
-	} catch (ClassNotFoundException e) {
-		fail("3.0 " + e);
-	};
-	src = c.getProtectionDomain().getCodeSource().getLocation();
-
-	c = null;
-
-}
-public void testPlatformURLResolve() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	URL install = null;
-	URL url = null;
-	URL resolvedURL = null;
-	URL resolvedURL2 = null;
-	URL localURL = null;
-	String result = null;
-
-	// resolve/ asLocalURL for plugin directory URL
-	install = url = pluginA.getInstallURL();
-	assertNotNull("1.0.0", url);
-	assertTrue("1.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL = Platform.resolve(url);
-	} catch (IOException e) {
-		fail("1.1.0 " + e);
-	};
-	assertNotNull("1.1.1", resolvedURL);
-	assertTrue("1.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL2 = Platform.resolve(resolvedURL);
-	} catch (IOException e) {
-		fail("1.2.0 " + e);
-	};
-	assertTrue("1.2.1", resolvedURL2.equals(resolvedURL));
-
-	try {
-		localURL = Platform.asLocalURL(url);
-		fail("1.3.0");
-	} catch (IOException e) {
-	};
-
-	// resolve/ asLocalURL for file URL
-
-	try {
-		url = new URL(install, "plugin.xml");
-	} catch (java.io.IOException e) {
-		fail("2.0.0.0 " + e);
-	}
-	assertNotNull("2.0.0", url);
-	assertTrue("2.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL = Platform.resolve(url);
-	} catch (IOException e) {
-		fail("2.1.0 " + e);
-	};
-	assertNotNull("2.1.1", resolvedURL);
-	assertTrue("2.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL2 = Platform.resolve(resolvedURL);
-	} catch (IOException e) {
-		fail("2.2.0 " + e);
-	};
-	assertTrue("2.2.1", resolvedURL2.equals(resolvedURL));
-
-	try {
-		localURL = Platform.asLocalURL(url);
-	} catch (IOException e) {
-		fail("2.3.0 " + e);
-	};
-	assertTrue("2.3.1", localURL.getProtocol().equals(PlatformURLHandler.FILE));
-
-	// resolve/ asLocalURL for jar URL 
-
-	try {
-		url = new URL(install, "plugin_a_external.jar!/");
-	} catch (java.io.IOException e) {
-		fail("3.0.0.0 " + e);
-	}
-	assertNotNull("3.0.0", url);
-	assertTrue("3.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL = Platform.resolve(url);
-	} catch (IOException e) {
-		fail("3.1.0 " + e);
-	};
-	assertNotNull("3.1.1", resolvedURL);
-	assertTrue("3.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL2 = Platform.resolve(resolvedURL);
-	} catch (IOException e) {
-		fail("3.2.0 " + e);
-	};
-	assertTrue("3.2.1", resolvedURL2.equals(resolvedURL));
-
-	try {
-		localURL = Platform.asLocalURL(url);
-	} catch (IOException e) {
-		fail("3.3.0 " + e);
-	};
-	assertTrue("3.3.1", localURL.getProtocol().equals(PlatformURLHandler.JAR));
-
-	// resolve/ asLocalURL for class inside jar URL 
-
-	try {
-		url = new URL(install, "plugin_a_external.jar!/org/eclipse/core/tests/internal/plugin/a/DummyClass.class");
-	} catch (java.io.IOException e) {
-		fail("4.0.0.0 " + e);
-	}
-	assertNotNull("4.0.0", url);
-	assertTrue("4.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL = Platform.resolve(url);
-	} catch (IOException e) {
-		fail("4.1.0 " + e);
-	};
-	assertNotNull("4.1.1", resolvedURL);
-	assertTrue("4.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
-	try {
-		resolvedURL2 = Platform.resolve(resolvedURL);
-	} catch (IOException e) {
-		fail("4.2.0 " + e);
-	};
-	assertTrue("4.2.1", resolvedURL2.equals(resolvedURL));
-
-	try {
-		localURL = Platform.asLocalURL(url);
-	} catch (IOException e) {
-		fail("4.3.0 " + e);
-	};
-	assertTrue("4.3.1", localURL.getProtocol().equals(PlatformURLHandler.JAR));
-
-}
-public void testPlatformURL() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	URL url = null;
-	String result = null;
-
-	// bad protocol spec "badurl"
-	url = createURL("1.0", "platform:badurl/" + "plugin.a" + "/", true);
-	result = getResourceStringFromURL("1.1", url, "key", false);
-
-	// nonexistent plugin
-	url = createURL("2.0", "platform:plugin/some.bad.plugin/", true);
-	result = getResourceStringFromURL("2.1", url, "key", false);
-
-	// good plugin
-	url = createURL("3.0", "platform:plugin/" + "plugin.a" + "/", true);
-	url = createURL("3.1", url, "plugin.properties", true);
-	result = getResourceStringFromURL("3.2", url, "key", true);
-	assertNotNull("3.3", result);
-	assertTrue("3.4", result.equals("Test String"));
-
-	// good plugin from cache
-	url = createURL("4.0", "platform:plugin/" + "plugin.a" + "/", true);
-	url = createURL("4.1", url, "plugin.properties", true);
-	PlatformURLConnection euc = null;
-	try {
-		euc = (PlatformURLConnection) url.openConnection();
-	} catch (IOException e) {
-		fail("4.1.1 " + e);
-	}
-	try {
-		url = euc.getURLAsLocal();
-	} catch (IOException e) {
-		fail("4.1.2 " + e);
-	}
-	result = getResourceStringFromURL("4.4", url, "key", true);
-	assertNotNull("4.3", result);
-	assertTrue("4.4", result.equals("Test String"));
-}
-public String getResourceStringFromConnection(String id, URLConnection uc, String key, boolean success) {
-
-	InputStream is = null;
-	PropertyResourceBundle bundle = null;
-	String result = null;
-
-	try {
-		try {
-			is = uc.getInputStream();
-			if (!success)
-				fail(id + ".2 " + uc.getURL().toString());
-		} catch (IOException e) {
-			if (success)
-				fail(id + ".3 " + e);
-			return null;
-		}
-
-		try {
-			bundle = new PropertyResourceBundle(is);
-			if (!success)
-				fail(id + ".4 " + uc.getURL().toString());
-		} catch (IOException e) {
-			if (success)
-				fail(id + ".5 " + e);
-			return null;
-		}
-
-		try {
-			result = bundle.getString(key);
-			if (!success)
-				fail(id + ".6 " + uc.getURL().toString());
-		} catch (MissingResourceException e) {
-			if (success)
-				fail(id + ".7 " + e);
-			return null;
-		}
-
-	} finally {
-		if (is != null)
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-	}
-
-	return result;
-
-}
-public String getResourceStringFromURL(String id, URL url, String key, boolean success) {
-
-	URLConnection uc = null;
-	InputStream is = null;
-	PropertyResourceBundle bundle = null;
-	String result = null;
-
-	try {
-		try {
-			uc = url.openConnection();
-			if (!success)
-				fail(id + ".0 " + url.toString());
-		} catch (IOException e) {
-			if (success)
-				fail(id + ".1 " + e);
-			return null;
-		}
-
-		try {
-			is = uc.getInputStream();
-			if (!success)
-				fail(id + ".2 " + url.toString());
-		} catch (IOException e) {
-			if (success)
-				fail(id + ".3 " + e);
-			return null;
-		}
-
-		try {
-			bundle = new PropertyResourceBundle(is);
-			if (!success)
-				fail(id + ".4 " + url.toString());
-		} catch (IOException e) {
-			if (success)
-				fail(id + ".5 " + e);
-			return null;
-		}
-
-		try {
-			result = bundle.getString(key);
-			if (!success)
-				fail(id + ".6 " + url.toString());
-		} catch (MissingResourceException e) {
-			if (success)
-				fail(id + ".7 " + e);
-			return null;
-		}
-
-	} finally {
-		if (is != null)
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-	}
-
-	return result;
-
-}
-private void buildPropertyFile(String fileName, String fileData, URL fileLocation) {
-	String fullFileName = fileLocation.getFile() + fileName;
-	try {
-		FileOutputStream fs = new FileOutputStream(fullFileName);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			w.println(fileData);
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (FileNotFoundException ioe) {
-		fail ("Unable to create test file " + fullFileName);
-	}
-
-}
-private void buildResourceEnv(IPluginDescriptor pluginB, IPluginDescriptor pluginC, String nl, String smallnl) {
-	buildPropertyFile("plugin_" + nl + ".properties", "key = Test String from " + nl, 
-		pluginC.find(new Path("./")));
-	if (!smallnl.equals(nl))
-		buildPropertyFile("plugin_" + smallnl + ".properties", "key = Test String from " + smallnl, 
-			pluginC.find(new Path("./")));
-	buildPropertyFile("plugin_" + smallnl + ".properties", "key = Test String from " + smallnl, 
-		pluginB.find(new Path("./")));
-}
-
-private void cleanupResourceEnv(IPluginDescriptor pluginB, IPluginDescriptor pluginC, String nl, String smallnl) {
-	File file = new File(pluginB.find(new Path("./")).getFile() + "plugin_" + smallnl + ".properties");
-	file.delete();
-	file = new File(pluginC.find(new Path("./")).getFile() + "plugin_" + nl + ".properties");
-	file.delete();
-	if (!smallnl.equals(nl)) {
-		file = new File(pluginC.find(new Path("./")).getFile() + "plugin_" + smallnl + ".properties");
-		file.delete();
-	}
-}
-
-public void testGetResourceString() {
-
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	// get descriptors
-	IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
-	IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
-	IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
-	IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
-	assertNotNull("0.0", pluginA);
-	assertNotNull("0.1", pluginB);
-	assertNotNull("0.2", pluginC);
-	assertNotNull("0.3", pluginD);
-
-	// We are making the assumption here that nl will have at 
-	// most 2 segments
-	String nl = InternalBootLoader.getNL();
-	String smallnl = nl;
-	int i = nl.lastIndexOf('_');
-	if (i != -1) {
-		smallnl = nl.substring(0, i);
-	}
-	
-	// resource strings - no lookup
-	String s1 = "Hello World";
-	String s2 = "%%" + s1;
-	// resource strings - default bundle lookup
-	String s3 = "Test String";
-	String key = "%key";
-	String bad = "%bad";
-	
-	try {
-		buildResourceEnv(pluginB, pluginC, nl, smallnl);
-	
-		assertEquals("2.0", s1, pluginA.getResourceString(s1));
-		assertEquals("2.1", s2.substring(1), pluginA.getResourceString(s2));
-	
-		assertEquals("3.0", s3, pluginA.getResourceString(key));
-		assertEquals("3.1", s3 + " from " + smallnl, pluginB.getResourceString(key));
-		assertEquals("3.2", s3 + " from " + nl, pluginC.getResourceString(key));
-		assertEquals("3.3", key, pluginD.getResourceString(key));
-	
-		assertEquals("4.0", bad, pluginA.getResourceString(bad));
-		assertEquals("4.1", bad, pluginB.getResourceString(bad));
-		assertEquals("4.2", bad, pluginC.getResourceString(bad));
-		assertEquals("4.3", bad, pluginD.getResourceString(bad));
-	
-		assertEquals("5.0", s1, pluginA.getResourceString(bad + " " + s1));
-		assertEquals("5.1", s1, pluginB.getResourceString(bad + " " + s1));
-		assertEquals("5.2", s1, pluginC.getResourceString(bad + " " + s1));
-		assertEquals("5.3", s1, pluginD.getResourceString(bad + " " + s1));
-	
-		assertEquals("6.0", s3, pluginA.getResourceString(key + " " + s1));
-		assertEquals("6.1", s3 + " from " + smallnl, pluginB.getResourceString(key + " " + s1));
-		assertEquals("6.2", s3 + " from " + nl, pluginC.getResourceString(key + " " + s1));
-		assertEquals("6.3", s1, pluginD.getResourceString(key + " " + s1));
-	} finally {
-		cleanupResourceEnv(pluginB, pluginC, nl, smallnl);
-	}
-
-	// resource strings - specified bundle
-	ClassLoader loader = new URLClassLoader(new URL[] { pluginD.getInstallURL()}, null);
-	ResourceBundle bundle = null;
-	try {
-		bundle = ResourceBundle.getBundle("resource", Locale.getDefault(), loader);
-	} catch (MissingResourceException e) {
-		// We don't need to worry about the locale here.  We should always find
-		// resource.properties
-		fail("7.0.1");
-	};
-	assertNotNull("7.0.2", bundle);
-
-	assertEquals("7.1", s1, pluginA.getResourceString(s1, bundle));
-	assertEquals("7.2", s2.substring(1), pluginA.getResourceString(s2, bundle));
-	assertEquals("7.3", "resource.properties " + s3, pluginA.getResourceString(key, bundle));
-	assertEquals("7.4", bad, pluginA.getResourceString(bad, bundle));
-	assertEquals("7.5", s1, pluginA.getResourceString(bad + " " + s1, bundle));
-	assertEquals("7.6", "resource.properties " + s3, pluginA.getResourceString(key + " " + s1, bundle));
-
-	assertEquals("8.1", s1, pluginB.getResourceString(s1, bundle));
-	assertEquals("8.2", s2.substring(1), pluginB.getResourceString(s2, bundle));
-	assertEquals("8.3", "resource.properties " + s3, pluginB.getResourceString(key, bundle));
-	assertEquals("8.4", bad, pluginB.getResourceString(bad, bundle));
-	assertEquals("8.5", s1, pluginB.getResourceString(bad + " " + s1, bundle));
-	assertEquals("8.6", "resource.properties " + s3, pluginB.getResourceString(key + " " + s1, bundle));
-
-	assertEquals("9.1", s1, pluginC.getResourceString(s1, bundle));
-	assertEquals("9.2", s2.substring(1), pluginC.getResourceString(s2, bundle));
-	assertEquals("9.3", "resource.properties " + s3, pluginC.getResourceString(key, bundle));
-	assertEquals("9.4", bad, pluginC.getResourceString(bad, bundle));
-	assertEquals("9.5", s1, pluginC.getResourceString(bad + " " + s1, bundle));
-	assertEquals("9.6", "resource.properties " + s3, pluginC.getResourceString(key + " " + s1, bundle));
-
-	assertEquals("10.1", s1, pluginD.getResourceString(s1, bundle));
-	assertEquals("10.2", s2.substring(1), pluginD.getResourceString(s2, bundle));
-	assertEquals("10.3", "resource.properties " + s3, pluginD.getResourceString(key, bundle));
-	assertEquals("10.4", bad, pluginD.getResourceString(bad, bundle));
-	assertEquals("10.5", s1, pluginD.getResourceString(bad + " " + s1, bundle));
-	assertEquals("10.6", "resource.properties " + s3, pluginD.getResourceString(key + " " + s1, bundle));
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
deleted file mode 100644
index bea19aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public abstract class PluginResolveTest extends EclipseWorkspaceTest {
-public PluginResolveTest() {
-	super(null);
-}
-public PluginResolveTest(String name) {
-	super(name);
-}
-public IPluginDescriptor checkResolved(IPluginRegistry r, String pfx, String id, String v) {
-
-	IPluginDescriptor pd = r.getPluginDescriptor(id);
-	assertNotNull(pfx + ".0.0", pd);
-	assertEquals(pfx + ".0.1", pd.getUniqueIdentifier(), id);
-	assertEquals(pfx + ".0.2", pd.getVersionIdentifier(), new PluginVersionIdentifier(v));
-	return pd;
-}
-public IPluginDescriptor checkResolved(IPluginRegistry r, String pfx, String id, String v, boolean ok) {
-
-	IPluginDescriptor pd = r.getPluginDescriptor(id, new PluginVersionIdentifier(v));
-	if (ok) {
-		assertNotNull(pfx + ".0.0", pd);
-		assertEquals(pfx + ".0.1", pd.getUniqueIdentifier(), id);
-		assertEquals(pfx + ".0.2", pd.getVersionIdentifier(), new PluginVersionIdentifier(v));
-	} else
-		assertNull(pfx + ".0.3", pd);
-	return pd;
-}
-public void checkResolvedPrereqs(String pfx, IPluginDescriptor pd, String[] id, String[] v) {
-
-	IPluginPrerequisite[] prq = pd.getPluginPrerequisites();
-	assertEquals(pfx + ".0.0", prq.length, id.length);
-	for (int i = 0; i < prq.length; i++) {
-		int ix = -1;
-		for (int j = 0; j < id.length; j++) {
-			if (prq[i].getUniqueIdentifier().equals(id[j])) {
-				ix = j;
-				break;
-			}
-		}
-		assertTrue(pfx + ".0.1 " + prq[i].getUniqueIdentifier(), ix != -1);
-		assertEquals(pfx + ".0.2 " + prq[i].getUniqueIdentifier(), prq[i].getResolvedVersionIdentifier(), new PluginVersionIdentifier(v[ix]));
-	}
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
deleted file mode 100644
index effae34..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_1 extends PluginResolveTest {
-public PluginResolveTest_1() {
-	super(null);
-}
-public PluginResolveTest_1(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.1/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_1("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
deleted file mode 100644
index 5e9f209..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_10 extends PluginResolveTest {
-public PluginResolveTest_10() {
-	super(null);
-}
-public PluginResolveTest_10(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.10/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("1.0.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("1.1.0");
-	PluginVersionIdentifier verIdC2 = new PluginVersionIdentifier("2.0.5");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
-	verIdC1 = null;
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC2);
-	assertNotNull("2.3", pluginDescriptor);
-	assertEquals("2.4", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.5", pluginDescriptor.getVersionIdentifier(), verIdC2);
-	verIdC2 = null;
-
-	PluginVersionIdentifier verIdD = new PluginVersionIdentifier("1.0.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.d", verIdD);
-	assertNotNull("3.0", pluginDescriptor);
-	assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.d");
-	assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdD);
-	verIdD = null;
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_10("baseTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
deleted file mode 100644
index 934f1de..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_11 extends PluginResolveTest {
-public PluginResolveTest_11() {
-	super(null);
-}
-public PluginResolveTest_11(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.11/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-	
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-
-	verIdC = new PluginVersionIdentifier("2.0.5");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("3.0", pluginDescriptor);
-	assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_11("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
deleted file mode 100644
index 3f330ba..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_12 extends PluginResolveTest {
-public PluginResolveTest_12() {
-	super(null);
-}
-public PluginResolveTest_12(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.12/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_12("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
deleted file mode 100644
index ab7b8a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_13 extends PluginResolveTest {
-public PluginResolveTest_13() {
-	super(null);
-}
-public PluginResolveTest_13(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.13/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC = new PluginVersionIdentifier("2.0.5");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_13("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
deleted file mode 100644
index 7fcae31..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_14 extends PluginResolveTest {
-public PluginResolveTest_14() {
-	super(null);
-}
-public PluginResolveTest_14(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.14/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-	
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("1.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
-	verIdC1 = null;
-	
-	PluginVersionIdentifier verIdC2 = new PluginVersionIdentifier("2.0.5");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC2);
-	assertNotNull("3.0", pluginDescriptor);
-	assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdC2);
-	verIdC2 = null;
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_14("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
deleted file mode 100644
index aef7f3b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_15 extends PluginResolveTest {
-public PluginResolveTest_15() {
-	super(null);
-}
-public PluginResolveTest_15(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.15/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	// This scenario should fail to resolve (I think)
-	// but gives 2 plugins.
-	
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	IPluginDescriptor pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("2.0.5");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
-	verIdC1 = null;
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_15("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
deleted file mode 100644
index ad1de36..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_16 extends PluginResolveTest {
-public PluginResolveTest_16() {
-	super(null);
-}
-public PluginResolveTest_16(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.16/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.1"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_16("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
deleted file mode 100644
index 46676d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_17 extends PluginResolveTest {
-public PluginResolveTest_17() {
-	super(null);
-}
-public PluginResolveTest_17(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.17/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, plugins.length);
-	assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_17("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
deleted file mode 100644
index 46fd201..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_18 extends PluginResolveTest {
-public PluginResolveTest_18() {
-	super(null);
-}
-public PluginResolveTest_18(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.18/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.2"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_18("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
deleted file mode 100644
index 252b602..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_19 extends PluginResolveTest {
-public PluginResolveTest_19() {
-	super(null);
-}
-public PluginResolveTest_19(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.19/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.2"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_19("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
deleted file mode 100644
index 6c98148..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_2 extends PluginResolveTest {
-public PluginResolveTest_2() {
-	super(null);
-}
-public PluginResolveTest_2(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.2/");
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		fail("0.0.0 Unexpected exception - " + e.getMessage());
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.2.2");
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.b" }, new String[] { "2.2.0" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "2.2.0");
-	checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.0.5" });
-
-	pd = checkResolved(registry, "2.0", "tests.c", "2.0.5");
-	checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "2.0.0" });
-
-	pd = checkResolved(registry, "3.0", "tests.d", "2.0.0");
-	checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "2.1.0" });
-
-	pd = checkResolved(registry, "4.0", "tests.e", "2.1.0");
-	checkResolvedPrereqs("4.1", pd, new String[] {	}, new String[] {	});
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_2("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
deleted file mode 100644
index 908cb24..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_20 extends PluginResolveTest {
-public PluginResolveTest_20() {
-	super(null);
-}
-public PluginResolveTest_20(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.20/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, plugins.length);
-	assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_20("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
deleted file mode 100644
index 980c683..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_21 extends PluginResolveTest {
-public PluginResolveTest_21() {
-	super(null);
-}
-public PluginResolveTest_21(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.21/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_21("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
deleted file mode 100644
index 03d914c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_22 extends PluginResolveTest {
-public PluginResolveTest_22() {
-	super(null);
-}
-public PluginResolveTest_22(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.22/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_22("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
deleted file mode 100644
index 0111543..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_23 extends PluginResolveTest {
-public PluginResolveTest_23() {
-	super(null);
-}
-public PluginResolveTest_23(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.23/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_23("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
deleted file mode 100644
index 8094f58..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_24 extends PluginResolveTest {
-public PluginResolveTest_24() {
-	super(null);
-}
-public PluginResolveTest_24(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.24/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_24("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
deleted file mode 100644
index 8682498..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_25 extends PluginResolveTest {
-public PluginResolveTest_25() {
-	super(null);
-}
-public PluginResolveTest_25(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.25/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, plugins.length);
-	assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_25("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
deleted file mode 100644
index 6f25e7a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_26 extends PluginResolveTest {
-public PluginResolveTest_26() {
-	super(null);
-}
-public PluginResolveTest_26(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.26/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.0.1"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_26("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
deleted file mode 100644
index 8112c2a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_27 extends PluginResolveTest {
-public PluginResolveTest_27() {
-	super(null);
-}
-public PluginResolveTest_27(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.27/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.0.1"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_27("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
deleted file mode 100644
index d35e79a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_28 extends PluginResolveTest {
-public PluginResolveTest_28() {
-	super(null);
-}
-public PluginResolveTest_28(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.28/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, plugins.length);
-	assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("2.2.0"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_28("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
deleted file mode 100644
index d14da5d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_29 extends PluginResolveTest {
-public PluginResolveTest_29() {
-	super(null);
-}
-public PluginResolveTest_29(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.29/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_29("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
deleted file mode 100644
index 701e8ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_3 extends PluginResolveTest {
-public PluginResolveTest_3() {
-	super(null);
-}
-public PluginResolveTest_3(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.3/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.2.1");
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.b" }, new String[] { "1.0.0" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "1.0.0");
-	checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "1.0.2" });
-
-	pd = checkResolved(registry, "2.0", "tests.c", "1.0.2");
-	checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "1.1.1" });
-
-	pd = checkResolved(registry, "3.0", "tests.d", "1.1.1");
-	checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "1.1.1" });
-
-	pd = checkResolved(registry, "4.0", "tests.e", "1.1.1");
-	checkResolvedPrereqs("4.1", pd, new String[] {	}, new String[] {	});
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_3("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
deleted file mode 100644
index 4d58a64..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_30 extends PluginResolveTest {
-public PluginResolveTest_30() {
-	super(null);
-}
-public PluginResolveTest_30(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.30/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_30("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
deleted file mode 100644
index 5890161..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_31 extends PluginResolveTest {
-public PluginResolveTest_31() {
-	super(null);
-}
-public PluginResolveTest_31(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.31/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_31("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
deleted file mode 100644
index b9c8f49..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_32 extends PluginResolveTest {
-public PluginResolveTest_32() {
-	super(null);
-}
-public PluginResolveTest_32(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.32/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-	
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_32("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
deleted file mode 100644
index c106c39..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_33 extends PluginResolveTest {
-public PluginResolveTest_33() {
-	super(null);
-}
-public PluginResolveTest_33(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.33/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, plugins.length);
-	assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_33("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
deleted file mode 100644
index 735ef5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_4 extends PluginResolveTest {
-public PluginResolveTest_4() {
-	super(null);
-}
-
-public PluginResolveTest_4(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.4/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.2.0");
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.b", "tests.c" }, new String[] {"2.1.0", "2.0.5" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "2.1.0");
-	checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.0.5" });
-
-	pd = checkResolved(registry, "2.0", "tests.c", "2.0.5");
-	checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "2.0.0" });
-
-	pd = checkResolved(registry, "3.0", "tests.d", "2.0.0");
-	checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "2.1.0" });
-
-	pd = checkResolved(registry, "4.0", "tests.e", "2.1.0");
-	checkResolvedPrereqs("4.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_4("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
deleted file mode 100644
index 3110872..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_5 extends PluginResolveTest {
-public PluginResolveTest_5() {
-	super(null);
-}
-public PluginResolveTest_5(String name) {
-	super(name);
-}
-public void baseTest() {
-	// prerequisite loop test
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.5/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd;
-
-	pd = registry.getPluginDescriptor("tests.a");
-	assertNull("0.1", pd);
-
-	pd = registry.getPluginDescriptor("tests.b");
-	assertNull("0.2", pd);
-
-	pd = registry.getPluginDescriptor("tests.c");
-	assertNull("0.3", pd);
-
-	pd = registry.getPluginDescriptor("tests.d");
-	assertNull("0.4", pd);
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_5("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
deleted file mode 100644
index 44b8783..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_6 extends PluginResolveTest {
-public PluginResolveTest_6() {
-	super(null);
-}
-public PluginResolveTest_6(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.6/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", true);
-	checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.5.0" });
-
-	pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
-	checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
-	pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", true);
-	checkResolvedPrereqs("3.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_6("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
deleted file mode 100644
index abfec8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_7 extends PluginResolveTest {
-public PluginResolveTest_7() {
-	super(null);
-}
-public PluginResolveTest_7(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.7/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", false);
-
-	pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
-	checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
-	pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", false);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_7("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
deleted file mode 100644
index 14b80ce..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_8 extends PluginResolveTest {
-public PluginResolveTest_8() {
-	super(null);
-}
-public PluginResolveTest_8(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.8/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = null;
-
-	pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
-	checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
-	pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", false);
-
-	pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
-	checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
-	pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", false);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_8("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
deleted file mode 100644
index 4d49216..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_9 extends PluginResolveTest {
-public PluginResolveTest_9() {
-	super(null);
-}
-public PluginResolveTest_9(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.9/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor pluginDescriptor = null;
-
-	PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
-	assertNotNull("0.0", pluginDescriptor);
-	assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
-	verIdA = null;
-
-	PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
-	assertNotNull("1.0", pluginDescriptor);
-	assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
-	assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
-	verIdB = null;
-
-	PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
-	assertNotNull("2.0", pluginDescriptor);
-	assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
-	assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
-	verIdC = null;
-
-	PluginVersionIdentifier verIdD = new PluginVersionIdentifier("1.0.0");
-	pluginDescriptor = registry.getPluginDescriptor("tests.d", verIdD);
-	assertNotNull("3.0", pluginDescriptor);
-	assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.d");
-	assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdD);
-	verIdD = null;
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginResolveTest_9("baseTest"));
-	return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
deleted file mode 100644
index 842868f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginVersionTest extends EclipseWorkspaceTest {
-public PluginVersionTest() {
-	super(null);
-}
-public PluginVersionTest(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.version.1/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-
-	// check descriptor
-	assertTrue("0.0", null != pd);
-	assertTrue("0.1", pd.getUniqueIdentifier().equals("plugin.a"));
-
-	// check to see if we have all plugins
-	IPluginDescriptor[] all = registry.getPluginDescriptors();
-	assertTrue("1.0", all.length != 0);
-	int count = 0;
-	for (int i = 0; i < all.length; i++) {
-		if (all[i].getUniqueIdentifier().equals("plugin.a"))
-			count++;
-	}
-	assertTrue("1.1", count == 3);
-
-	// try again using filtered list
-	all = registry.getPluginDescriptors("plugin.a");
-	assertTrue("1.2", all.length == 3);
-
-	// try again using filtered list and invalid id
-	all = registry.getPluginDescriptors("plugin.a" + ".invalid");
-	assertTrue("1.3", all.length == 0);
-
-	// lookup descriptors individually
-	PluginVersionIdentifier v = new PluginVersionIdentifier("1.0.0");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.0.0", pd == null);
-
-	v = new PluginVersionIdentifier("1.0.1");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.1.0", pd != null);
-	assertTrue("2.1.1", "plugin.a".equals(pd.getUniqueIdentifier()));
-	assertTrue("2.1.2", v.equals(pd.getVersionIdentifier()));
-
-	v = new PluginVersionIdentifier("1.1.0");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.2.0", pd != null);
-	assertTrue("2.2.1", "plugin.a".equals(pd.getUniqueIdentifier()));
-	assertTrue("2.2.2", v.equals(pd.getVersionIdentifier()));
-
-	v = new PluginVersionIdentifier("2.0.0");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.3.0", pd == null);
-
-	v = new PluginVersionIdentifier("2.0.15");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.4.0", pd != null);
-	assertTrue("2.4.1", "plugin.a".equals(pd.getUniqueIdentifier()));
-	assertTrue("2.4.2", v.equals(pd.getVersionIdentifier()));
-
-	v = new PluginVersionIdentifier("9.9.9");
-	pd = registry.getPluginDescriptor("plugin.a", v);
-	assertTrue("2.5.0", pd == null);
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginVersionTest("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
deleted file mode 100644
index 62c024a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginVersionTest_2 extends EclipseWorkspaceTest {
-public PluginVersionTest_2() {
-	super(null);
-}
-public PluginVersionTest_2(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.version.2/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	
-	IPluginDescriptor pd;
-	IPluginDescriptor[] list;
-	IPluginPrerequisite[] prereqs;
-
-	// Check plugin a
-	list = registry.getPluginDescriptors("a");
-	assertEquals("1.0", list.length, 1);
-	pd = list[0];
-	assertEquals("1.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-	prereqs = pd.getPluginPrerequisites();
-	assertEquals("1.2", prereqs.length, 1);
-	assertEquals("1.3", prereqs[0].getUniqueIdentifier(), "b");
-	assertEquals("1.4", prereqs[0].getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// Check plugin b
-	list = registry.getPluginDescriptors("b");
-	assertEquals("2.0", list.length, 1);
-	pd = list[0];
-	assertEquals("2.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	prereqs = pd.getPluginPrerequisites();
-	assertEquals("2.2", prereqs.length, 1);
-	assertEquals("2.3", prereqs[0].getUniqueIdentifier(), "c");
-	assertEquals("2.4", prereqs[0].getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
-	
-	// Check plugin c
-	list = registry.getPluginDescriptors("c");
-	assertEquals("3.0", list.length, 1);
-	pd = list[0];
-	assertEquals("3.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
-	prereqs = pd.getPluginPrerequisites();
-	assertEquals("3.2", prereqs.length, 2);
-	IPluginPrerequisite prereqD = null;
-	IPluginPrerequisite prereqE = null;
-	for (int i = 0; i < prereqs.length; i++) {
-		if (prereqs[i].getUniqueIdentifier().equals("d"))
-			prereqD = prereqs[i];
-		else if (prereqs[i].getUniqueIdentifier().equals("e"))
-			prereqE = prereqs[i];
-	}
-	assertNotNull("3.3", prereqD);
-	assertNotNull("3.4", prereqE);
-	assertEquals("3.5", prereqD.getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
-	assertEquals("3.6", prereqE.getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.2"));
-	
-	// Check plugin d
-	list = registry.getPluginDescriptors("d");
-	assertEquals("4.0", list.length, 1);
-	pd = list[0];
-	assertEquals("4.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
-	prereqs = pd.getPluginPrerequisites();
-	assertEquals("4.2", prereqs.length, 0);
-	
-	// Check plugin e
-	list = registry.getPluginDescriptors("e");
-	assertEquals("5.0", list.length, 1);
-	pd = list[0];
-	assertEquals("5.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.2"));
-	prereqs = pd.getPluginPrerequisites();
-	assertEquals("5.2", prereqs.length, 0);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginVersionTest_2("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
deleted file mode 100644
index 710d83c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginXmlTest extends EclipseWorkspaceTest {
-public PluginXmlTest() {
-	super(null);
-}
-public PluginXmlTest(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.parser.1/");
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-	IPluginDescriptor pd = registry.getPluginDescriptor("plugins.parser.1");
-
-	// check descriptor
-	assertTrue("0.0", null != pd);
-	assertTrue("0.1", pd.getUniqueIdentifier().equals("plugins.parser.1"));
-	assertTrue("0.2", pd.getLabel().equals("IBM Tooling Platform Core Tests"));
-	assertTrue("0.3", pd.getProviderName().equals("IBM"));
-	assertTrue("0.4", pd.getVersionIdentifier().equals(new PluginVersionIdentifier("1.2")));
-	assertTrue("0.6", !pd.isPluginActivated());
-	assertTrue("0.7", pd.getInstallURL().getFile().equals("/plugin/plugins.parser.1_1.2.0/"));
-
-	// check prereqs
-	IPluginPrerequisite[] prereq = pd.getPluginPrerequisites();
-	assertTrue("1.0", prereq.length == 2);
-
-	assertTrue("1.1.0", prereq[0].getUniqueIdentifier().equals("plugins.parser.2"));
-	assertTrue("1.1.0.0", prereq[0].getVersionIdentifier().equals(new PluginVersionIdentifier("3.7")));
-	assertTrue("1.1.1", prereq[0].getResolvedVersionIdentifier().equals(new PluginVersionIdentifier("3.7.9")));
-	assertTrue("1.1.2", prereq[0].isExported());
-	assertTrue("1.1.3", prereq[0].isMatchedAsCompatible());
-
-	assertTrue("1.2.0", prereq[1].getUniqueIdentifier().equals("plugins.parser.3"));
-	assertTrue("1.2.1", null == prereq[1].getVersionIdentifier());
-	assertTrue("1.2.2", prereq[1].getResolvedVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-	assertTrue("1.2.3", !prereq[1].isExported());
-	assertTrue("1.2.4", !prereq[1].isMatchedAsPerfect());
-	assertTrue("1.2.4", !prereq[1].isMatchedAsEquivalent());
-	assertTrue("1.2.6", !prereq[1].isMatchedAsCompatible());
-	assertTrue("1.2.7", !prereq[1].isMatchedAsGreaterOrEqual());
-
-	// check runtime libs
-	ILibrary[] lib = pd.getRuntimeLibraries();
-	assertTrue("2.0", lib.length == 3);
-
-	assertTrue("2.1.0", null == lib[0].getContentFilters());
-	assertTrue("2.1.1", lib[0].getPath().toString().equals("lib1.jar"));
-	assertTrue("2.1.2", !lib[0].isExported());
-	assertTrue("2.1.3", !lib[0].isFullyExported());
-
-	assertTrue("2.2.0", null == lib[1].getContentFilters()); // fully exported => no filter
-	assertTrue("2.2.1", lib[1].getPath().toString().equals("lib2.jar"));
-	assertTrue("2.2.2", lib[1].isExported());
-	assertTrue("2.2.3", lib[1].isFullyExported());
-
-	assertTrue("2.3.0", null != lib[2].getContentFilters());
-	assertTrue("2.3.0.1", lib[2].getContentFilters().length == 1);
-	assertTrue("2.3.1", lib[2].getPath().toString().equals("lib3.jar"));
-	assertTrue("2.3.2", lib[2].isExported());
-	assertTrue("2.3.3", !lib[2].isFullyExported());
-
-	// check declared extension points
-	IExtensionPoint[] xpt;
-	xpt = pd.getExtensionPoints();
-	assertTrue("3.0", xpt.length == 2);
-
-	assertTrue("3.1.0", xpt[0].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("3.1.1", xpt[0].getUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-	assertTrue("3.1.2", xpt[0].getSimpleIdentifier().equals("xpt1"));
-	assertTrue("3.1.3", xpt[0].getLabel().equals("First extension point"));
-	assertTrue("3.1.4", xpt[0].getSchemaReference().equals("pde/xpt1.xml"));
-
-	assertTrue("3.2.0", xpt[1].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("3.2.1", xpt[1].getUniqueIdentifier().equals("plugins.parser.1" + ".xpt2"));
-	assertTrue("3.2.2", xpt[1].getSimpleIdentifier().equals("xpt2"));
-	assertTrue("3.2.3", xpt[1].getLabel().equals("Second extension point"));
-	assertTrue("3.2.4", xpt[1].getSchemaReference().equals(""));
-
-	// check declared extensions
-	IExtension[] ext;
-	ext = pd.getExtensions();
-	assertTrue("4.0", ext.length == 2);
-
-	assertTrue("4.1.0", ext[0].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("4.1.1", ext[0].getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
-	assertTrue("4.1.2", ext[0].getSimpleIdentifier().equals("ext1"));
-	assertTrue("4.1.3", ext[0].getLabel().equals("First extension"));
-	assertTrue("4.1.4", ext[0].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
-	assertTrue("4.2.0", ext[1].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("4.2.1", null == ext[1].getUniqueIdentifier());
-	assertTrue("4.2.2", null == ext[1].getSimpleIdentifier());
-	assertTrue("4.2.3", ext[1].getLabel().equals(""));
-	assertTrue("4.2.4", ext[1].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
-	// check configured extensions (via extension point)
-	IExtensionPoint xpt1 = registry.getExtensionPoint("plugins.parser.1" + ".xpt1");
-	assertTrue("5.0", null != xpt1);
-	ext = xpt1.getExtensions();
-	assertTrue("5.0.1", ext.length == 2);
-
-	assertTrue("5.1.0", ext[0].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("5.1.1", ext[0].getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
-	assertTrue("5.1.2", ext[0].getSimpleIdentifier().equals("ext1"));
-	assertTrue("5.1.3", ext[0].getLabel().equals("First extension"));
-	assertTrue("5.1.4", ext[0].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
-	assertTrue("5.2.0", ext[1].getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("5.2.1", null == ext[1].getUniqueIdentifier());
-	assertTrue("5.2.2", null == ext[1].getSimpleIdentifier());
-	assertTrue("5.2.3", ext[1].getLabel().equals(""));
-	assertTrue("5.2.4", ext[1].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
-	// check configured extension (directly)
-	IExtension ext1 = registry.getExtension("plugins.parser.1", "xpt1", "plugins.parser.1" + ".ext1");
-	assertTrue("6.0", null != ext1);
-
-	assertTrue("6.1.0", ext1.getDeclaringPluginDescriptor().equals(pd));
-	assertTrue("6.1.1", ext1.getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
-	assertTrue("6.1.2", ext1.getSimpleIdentifier().equals("ext1"));
-	assertTrue("6.1.3", ext1.getLabel().equals("First extension"));
-	assertTrue("6.1.4", ext1.getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginXmlTest("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
deleted file mode 100644
index 47d27ca..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_1 extends PluginResolveTest {
-public RegressionResolveTest_1() {
-	super(null);
-}
-public RegressionResolveTest_1(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.1/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.5"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", requires[0].isMatchedAsExact());
-	assertTrue("3.2", !requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch());
-	assertTrue("3.4", !(req.getMatch()) == false);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_1("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
deleted file mode 100644
index 3b258f0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_10 extends PluginResolveTest {
-public RegressionResolveTest_10() {
-	super(null);
-}
-public RegressionResolveTest_10(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.10/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.1.0"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", !requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_10("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
deleted file mode 100644
index c3282eb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- * Test for bug 19397. Description: If an imported plugin is specified as
- * optional in the plugin XML, the versioning information is ignored.
- * 
- * Scenario: pluginA requires pluginC (any version) and optionally 
- * pluginB_2.0.0, but pluginB's version is 1.0.0 (which by its turn
- * requires pluginD). Expected result: all plug- ins are enabled AND pluginA's
- * classloader does not import pluginB's classloader.
- */
-public class RegressionResolveTest_11 extends PluginResolveTest {
-	public RegressionResolveTest_11(String name) {
-		super(name);
-	}
-	public void testBug() {
-		MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-		InternalFactory factory = new InternalFactory(problems);
-		PluginDescriptor tempPlugin = (PluginDescriptor) Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-		String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.11/");
-		URL pluginURLs[] = new URL[1];
-		URL pURL = null;
-		try {
-			pURL = new URL(pluginPath);
-		} catch (java.net.MalformedURLException e) {
-			assertTrue("Bad URL for " + pluginPath, true);
-		}
-		pluginURLs[0] = pURL;
-		IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-
-		if (factory.getStatus().getSeverity() != IStatus.OK) {
-			System.out.println(factory.getStatus());
-			fail("0.0 - " + factory.getStatus().getMessage());
-		}
-
-		IPluginDescriptor pluginA = registry.getPluginDescriptor("tests.a");
-		IPluginDescriptor pluginB = registry.getPluginDescriptor("tests.b", new PluginVersionIdentifier("1.0.0"));
-		IPluginDescriptor pluginC = registry.getPluginDescriptor("tests.c");
-		IPluginDescriptor pluginD = registry.getPluginDescriptor("tests.d");
-
-		// all plugins should have been enabled
-		assertNotNull("1.1", pluginA);
-		assertNotNull("1.2", pluginB);
-		assertNotNull("1.4", pluginC);
-		assertNotNull("1.5", pluginD);
-
-		// plugin A requires optionally plugin B_2.0.0		
-		IPluginPrerequisite[] requires = pluginA.getPluginPrerequisites();
-		assertEquals("2.1", 2, requires.length);
-		assertEquals("2.2", pluginB.getUniqueIdentifier(), requires[0].getUniqueIdentifier());
-		assertEquals("2.3", new PluginVersionIdentifier(2, 0, 0), requires[0].getVersionIdentifier());
-		// should be null because it was not resolved (pluginB's version is 1.0.0) 
-		assertNull("2.4", requires[0].getResolvedVersionIdentifier());
-
-		// check the resolved prerequisites for A
-		IPluginPrerequisite[] resolvedPrereqsA = ((PluginDescriptor) pluginA).getPluginResolvedPrerequisites();
-		assertEquals("3.1", 1, resolvedPrereqsA.length);
-		assertEquals("3.2", pluginC.getUniqueIdentifier(), resolvedPrereqsA[0].getUniqueIdentifier());
-
-		// check the resolved prerequisites for B
-		IPluginPrerequisite[] resolvedPrereqsB = ((PluginDescriptor) pluginB).getPluginResolvedPrerequisites();
-		assertEquals("4.1", 1, resolvedPrereqsB.length);
-		assertEquals("4.2", pluginD.getUniqueIdentifier(), resolvedPrereqsB[0].getUniqueIdentifier());
-
-	}
-	public static Test suite() {
-		return new TestSuite(RegressionResolveTest_11.class);
-	}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
deleted file mode 100644
index 86fd2b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_2 extends PluginResolveTest {
-public RegressionResolveTest_2() {
-	super(null);
-}
-public RegressionResolveTest_2(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.2/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.5"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", requires[0].isMatchedAsExact());
-	assertTrue("3.2", !requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch());
-	assertTrue("3.4", !(req.getMatch()) == false);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_2("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
deleted file mode 100644
index 26db2f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_3 extends PluginResolveTest {
-public RegressionResolveTest_3() {
-	super(null);
-}
-public RegressionResolveTest_3(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.3/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", requires[0].isMatchedAsExact());
-	assertTrue("3.2", !requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch());
-	assertTrue("3.4", !(req.getMatch()) == false);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_3("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
deleted file mode 100644
index 0d52de8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_4 extends PluginResolveTest {
-public RegressionResolveTest_4() {
-	super(null);
-}
-public RegressionResolveTest_4(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.4/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_4("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
deleted file mode 100644
index dc147c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_5 extends PluginResolveTest {
-public RegressionResolveTest_5() {
-	super(null);
-}
-public RegressionResolveTest_5(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.5/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_5("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
deleted file mode 100644
index 04b66e4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_6 extends PluginResolveTest {
-public RegressionResolveTest_6() {
-	super(null);
-}
-public RegressionResolveTest_6(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.6/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_6("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
deleted file mode 100644
index 8362631..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_7 extends PluginResolveTest {
-public RegressionResolveTest_7() {
-	super(null);
-}
-public RegressionResolveTest_7(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.7/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_7("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
deleted file mode 100644
index 0cdeec0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_8 extends PluginResolveTest {
-public RegressionResolveTest_8() {
-	super(null);
-}
-public RegressionResolveTest_8(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.8/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_8("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
deleted file mode 100644
index 13e0c2f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_9 extends PluginResolveTest {
-public RegressionResolveTest_9() {
-	super(null);
-}
-public RegressionResolveTest_9(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.9/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] plugins = registry.getPluginDescriptors();
-	assertEquals("0.0", plugins.length, 2);
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// Grab the prerequisite and examine it later
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-	
-	// Now check the prerequisite and the return values of getMatch()
-	assertEquals("3.0", requires.length, 1);
-	assertTrue("3.1", !requires[0].isMatchedAsExact());
-	assertTrue("3.2", requires[0].isMatchedAsCompatible());
-	PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
-	assertTrue("3.3", req.getMatch() == false);
-	assertTrue("3.4", !(req.getMatch()) == true);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new RegressionResolveTest_9("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
deleted file mode 100644
index 421b9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_1 extends PluginResolveTest {
-public SoftPrereqTest_1() {
-	super(null);
-}
-public SoftPrereqTest_1(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.1/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 1);
-	assertEquals("0.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("0.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("1.0", requires.length, 1);
-	assertEquals("1.1", requires[0].getUniqueIdentifier(), "tests.b");
-	assertTrue("1.2", !requires[0].isMatchedAsPerfect());
-	assertTrue("1.3", !requires[0].isMatchedAsEquivalent());
-	assertTrue("1.4", !requires[0].isMatchedAsCompatible());
-	assertTrue("1.5", !requires[0].isMatchedAsGreaterOrEqual());
-	assertTrue("1.6", requires[0].isOptional());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_1("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
deleted file mode 100644
index 4e85644..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_10 extends PluginResolveTest {
-public SoftPrereqTest_10() {
-	super(null);
-}
-public SoftPrereqTest_10(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.10/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	
-	// look for tests.b - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
-	// look for tests.d - there should be 0
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_10("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
deleted file mode 100644
index 81dd4cb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_11 extends PluginResolveTest {
-public SoftPrereqTest_11() {
-	super(null);
-}
-public SoftPrereqTest_11(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.11/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_11("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
deleted file mode 100644
index 6329247..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_12 extends PluginResolveTest {
-public SoftPrereqTest_12() {
-	super(null);
-}
-public SoftPrereqTest_12(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.12/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 1);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_12("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
deleted file mode 100644
index e79877d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_13 extends PluginResolveTest {
-public SoftPrereqTest_13() {
-	super(null);
-}
-public SoftPrereqTest_13(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.13/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_13("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
deleted file mode 100644
index 7c32118..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_14 extends PluginResolveTest {
-public SoftPrereqTest_14() {
-	super(null);
-}
-public SoftPrereqTest_14(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.14/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 1);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_14("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
deleted file mode 100644
index 471e94d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_15 extends PluginResolveTest {
-public SoftPrereqTest_15() {
-	super(null);
-}
-public SoftPrereqTest_15(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.15/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_15("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
deleted file mode 100644
index a3c0993..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_16 extends PluginResolveTest {
-public SoftPrereqTest_16() {
-	super(null);
-}
-public SoftPrereqTest_16(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.16/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 1);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_16("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
deleted file mode 100644
index 6587dab..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_17 extends PluginResolveTest {
-public SoftPrereqTest_17() {
-	super(null);
-}
-public SoftPrereqTest_17(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.17/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// Should be identical to softPrereq.3 as the only difference is the order of the 
-	// requires.
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", !requireB.isMatchedAsPerfect());
-	assertTrue("3.1", !requireB.isMatchedAsEquivalent());
-	assertTrue("3.2", !requireB.isMatchedAsCompatible());
-	assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
-	assertTrue("3.4", requireB.isOptional());
-	assertNull("3.5", requireB.getVersionIdentifier());
-	assertTrue("3.6", !requireC.isMatchedAsPerfect());
-	assertTrue("3.7", !requireC.isMatchedAsEquivalent());
-	assertTrue("3.8", !requireC.isMatchedAsCompatible());
-	assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
-	assertTrue("3.10", !requireC.isOptional());
-	assertNull("3.11", requireC.getVersionIdentifier());
-	
-	// look for tests.b - shouldn't be found
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 0);
-	
-	// look for tests.c - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 1);
-	assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_17("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
deleted file mode 100644
index bce31a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_18 extends PluginResolveTest {
-public SoftPrereqTest_18() {
-	super(null);
-}
-public SoftPrereqTest_18(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.18/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	// Should be identical to softPrereq.4 as the only difference is the order of the 
-	// requires.
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 0);
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_18("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
deleted file mode 100644
index 9f92aca..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_19 extends PluginResolveTest {
-public SoftPrereqTest_19() {
-	super(null);
-}
-public SoftPrereqTest_19(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.19/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	// Not quite identical to softPrereq.5 as a failed requirement occurs before
-	// the optional one so there will be no plugins (the optional one does not get
-	// considered as a new root node).
-	
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("1.0", 1, pluginDescriptors.length);
-	assertEquals("1.1", "tests.b", pluginDescriptors[0].getUniqueIdentifier());
-	assertEquals("1.2", new PluginVersionIdentifier("1.0.1"), pluginDescriptors[0].getVersionIdentifier());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_19("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
deleted file mode 100644
index 1fc6d08..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_2 extends PluginResolveTest {
-public SoftPrereqTest_2() {
-	super(null);
-}
-public SoftPrereqTest_2(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.2/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 1);
-	assertEquals("2.1", requires[0].getUniqueIdentifier(), "tests.b");
-	assertTrue("2.2", !requires[0].isMatchedAsPerfect());
-	assertTrue("2.3", !requires[0].isMatchedAsEquivalent());
-	assertTrue("2.4", !requires[0].isMatchedAsCompatible());
-	assertTrue("2.5", !requires[0].isMatchedAsGreaterOrEqual());
-	assertTrue("2.6", requires[0].isOptional());
-	
-	// look for tests.b
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_2("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
deleted file mode 100644
index 50ed509..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_20 extends PluginResolveTest {
-public SoftPrereqTest_20() {
-	super(null);
-}
-public SoftPrereqTest_20(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.20/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 3);
-	
-	// Should be identical to softPrereq.6 as the only difference is the order of the 
-	// requires.
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", !requireB.isMatchedAsPerfect());
-	assertTrue("3.1", !requireB.isMatchedAsEquivalent());
-	assertTrue("3.2", !requireB.isMatchedAsCompatible());
-	assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
-	assertTrue("3.4", requireB.isOptional());
-	assertNull("3.5", requireB.getVersionIdentifier());
-	assertTrue("3.6", !requireC.isMatchedAsPerfect());
-	assertTrue("3.7", !requireC.isMatchedAsEquivalent());
-	assertTrue("3.8", !requireC.isMatchedAsCompatible());
-	assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
-	assertTrue("3.10", !requireC.isOptional());
-	assertNull("3.11", requireC.getVersionIdentifier());
-	
-	// look for tests.b - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-	
-	// look for tests.c - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 1);
-	assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_20("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
deleted file mode 100644
index d3f5361..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_21 extends PluginResolveTest {
-public SoftPrereqTest_21() {
-	super(null);
-}
-public SoftPrereqTest_21(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.21/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// Should be identical to softPrereq.7 as the only difference is the order of the 
-	// requires.
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", requireB.isMatchedAsCompatible());
-	assertTrue("3.1", !requireB.isMatchedAsExact());
-	assertTrue("3.2", requireB.isOptional());
-	assertEquals("3.3", requireB.getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	assertTrue("3.4", requireC.isMatchedAsCompatible());
-	assertTrue("3.5", !requireC.isMatchedAsExact());
-	assertTrue("3.6", !requireC.isOptional());
-	assertEquals("3.7", requireC.getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.b - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// look for tests.c - there should be 2
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 2);
-	IPluginDescriptor pluginC_110 = null;
-	IPluginDescriptor pluginC_210 = null;
-	for (int i = 0; i < pluginDescriptors.length; i++) {
-		boolean badVersion = false;
-		IPluginDescriptor thisPlugin = pluginDescriptors[i];
-		if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0"))) {
-			pluginC_110 = thisPlugin;
-		} else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0"))) {
-			pluginC_210 = thisPlugin;
-		} else {
-			assertTrue ("5.1 Bad version number found" + thisPlugin.getVersionIdentifier().toString(), false);
-			badVersion = true;
-		}
-		// Check the common components of these plugins
-		if (thisPlugin != null && !badVersion) {
-			assertEquals("5.2", thisPlugin.getUniqueIdentifier(), "tests.c");
-		}
-	}
-	assertNotNull("5.3", pluginC_110);
-	assertNotNull("5.4", pluginC_210);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_21("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
deleted file mode 100644
index 460f0a5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_22 extends PluginResolveTest {
-public SoftPrereqTest_22() {
-	super(null);
-}
-public SoftPrereqTest_22(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.22/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// Should be identical to softPrereq.8 as the only difference is the order of the 
-	// requires.
-	
-	// look for tests.a - should not exist as it caused the conflict
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	
-	// look for tests.b - there should be 1
-	// Because tests.a causes a conflict, it is removed/disabled.  This causes
-	// tests.b to be orphaned.  Therefore, tests.b gets considered a root node.
-	// We then pick up the latest version of tests.b and resolve for it.
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_22("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
deleted file mode 100644
index 58f6adb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_3 extends PluginResolveTest {
-public SoftPrereqTest_3() {
-	super(null);
-}
-public SoftPrereqTest_3(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.3/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", !requireB.isMatchedAsPerfect());
-	assertTrue("3.1", !requireB.isMatchedAsEquivalent());
-	assertTrue("3.2", !requireB.isMatchedAsCompatible());
-	assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
-	assertTrue("3.4", requireB.isOptional());
-	assertNull("3.5", requireB.getVersionIdentifier());
-	assertTrue("3.6", !requireC.isMatchedAsPerfect());
-	assertTrue("3.7", !requireC.isMatchedAsEquivalent());
-	assertTrue("3.8", !requireC.isMatchedAsCompatible());
-	assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
-	assertTrue("3.10", !requireC.isOptional());
-	assertNull("3.11", requireC.getVersionIdentifier());
-	
-	// look for tests.b - shouldn't be found
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 0);
-	
-	// look for tests.c - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 1);
-	assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_3("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
deleted file mode 100644
index 52e01b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_4 extends PluginResolveTest {
-public SoftPrereqTest_4() {
-	super(null);
-}
-public SoftPrereqTest_4(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.4/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 0);
-
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_4("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
deleted file mode 100644
index f1a505c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_5 extends PluginResolveTest {
-public SoftPrereqTest_5() {
-	super(null);
-}
-public SoftPrereqTest_5(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.5/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 1);
-	
-	// look for tests.a - should not be found (the real prerequisite doesn't exist)
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-
-	// look for tests.b - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-	
-	// look for tests.c - shouldn't be found
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 0);
-	
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_5("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
deleted file mode 100644
index cb50ca2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_6 extends PluginResolveTest {
-public SoftPrereqTest_6() {
-	super(null);
-}
-public SoftPrereqTest_6(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.6/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 3);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", !requireB.isMatchedAsPerfect());
-	assertTrue("3.1", !requireB.isMatchedAsEquivalent());
-	assertTrue("3.2", !requireB.isMatchedAsCompatible());
-	assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
-	assertTrue("3.4", requireB.isOptional());
-	assertNull("3.5", requireB.getVersionIdentifier());
-	assertTrue("3.6", !requireC.isMatchedAsPerfect());
-	assertTrue("3.7", !requireC.isMatchedAsEquivalent());
-	assertTrue("3.8", !requireC.isMatchedAsCompatible());
-	assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
-	assertTrue("3.10", !requireC.isOptional());
-	assertNull("3.11", requireC.getVersionIdentifier());
-	
-	// look for tests.b - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-	
-	// look for tests.c - should exist
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 1);
-	assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_6("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
deleted file mode 100644
index cb10f41..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_7 extends PluginResolveTest {
-public SoftPrereqTest_7() {
-	super(null);
-}
-public SoftPrereqTest_7(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.7/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 4);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// make sure it also has an optional prerequisite
-	IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-	assertEquals("2.0", requires.length, 2);
-	IPluginPrerequisite requireB = null;
-	IPluginPrerequisite requireC = null;
-	for (int i = 0; i < requires.length; i++) {
-		if (requires[i].getUniqueIdentifier().equals("tests.b"))
-			requireB = requires[i];
-		else if (requires[i].getUniqueIdentifier().equals("tests.c"))
-			requireC = requires[i];
-	}
-	assertNotNull("2.1", requireB);
-	assertNotNull("2.2", requireC);
-	
-	// Now check the data in the prerequisites
-	assertTrue("3.0", requireB.isMatchedAsCompatible());
-	assertTrue("3.1", !requireB.isMatchedAsExact());
-	assertTrue("3.2", requireB.isOptional());
-	assertEquals("3.3", requireB.getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	assertTrue("3.4", requireC.isMatchedAsCompatible());
-	assertTrue("3.5", !requireC.isMatchedAsExact());
-	assertTrue("3.6", !requireC.isOptional());
-	assertEquals("3.7", requireC.getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.b - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// look for tests.c - there should be 2
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("5.0", pluginDescriptors.length, 2);
-	IPluginDescriptor pluginC_110 = null;
-	IPluginDescriptor pluginC_210 = null;
-	for (int i = 0; i < pluginDescriptors.length; i++) {
-		boolean badVersion = false;
-		IPluginDescriptor thisPlugin = pluginDescriptors[i];
-		if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0"))) {
-			pluginC_110 = thisPlugin;
-		} else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0"))) {
-			pluginC_210 = thisPlugin;
-		} else {
-			assertTrue ("5.1 Bad version number found" + thisPlugin.getVersionIdentifier().toString(), false);
-			badVersion = true;
-		}
-		// Check the common components of these plugins
-		if (thisPlugin != null && !badVersion) {
-			assertEquals("5.2", thisPlugin.getUniqueIdentifier(), "tests.c");
-		}
-	}
-	assertNotNull("5.3", pluginC_110);
-	assertNotNull("5.4", pluginC_210);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_7("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
deleted file mode 100644
index bd4ede9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_8 extends PluginResolveTest {
-public SoftPrereqTest_8() {
-	super(null);
-}
-public SoftPrereqTest_8(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.8/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 2);
-	
-	// look for tests.a - should not exist as it caused the conflict
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 0);
-	
-	// look for tests.b - there should be 1
-	// Because tests.a causes a conflict, it is removed/disabled.  This causes
-	// tests.b to be orphaned.  Therefore, tests.b gets considered a root node.
-	// We then pick up the latest version of tests.b and resolve for it.
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-	
-	// look for tests.c - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 1);
-	assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_8("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
deleted file mode 100644
index a628042..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_9 extends PluginResolveTest {
-public SoftPrereqTest_9() {
-	super(null);
-}
-public SoftPrereqTest_9(String name) {
-	super(name);
-}
-public void baseTest() {
-	
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
-	String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.9/");
-	URL pluginURLs[] = new URL[1];
-	URL pURL = null;
-	try {
-		pURL = new URL (pluginPath);
-	} catch (java.net.MalformedURLException e) {
-		assertTrue("Bad URL for " + pluginPath, true);
-	}
-	pluginURLs[0] = pURL;
-	IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
-	IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
-	assertEquals("0.0", pluginDescriptors.length, 5);
-	
-	// look for tests.a
-	pluginDescriptors = registry.getPluginDescriptors("tests.a");
-	assertEquals("1.0", pluginDescriptors.length, 1);
-	assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
-	assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-	
-	// look for tests.b - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.b");
-	assertEquals("2.0", pluginDescriptors.length, 1);
-	assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
-	assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-	
-	// look for tests.c - there should be 2
-	pluginDescriptors = registry.getPluginDescriptors("tests.c");
-	assertEquals("3.0", pluginDescriptors.length, 2);
-	IPluginDescriptor pluginC_110 = null;
-	IPluginDescriptor pluginC_210 = null;
-	for (int i = 0; i < pluginDescriptors.length; i++) {
-		boolean badVersion = false;
-		IPluginDescriptor thisPlugin = pluginDescriptors[i];
-		if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0")))
-			pluginC_110 = thisPlugin;
-		else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0")))
-			pluginC_210 = thisPlugin;
-		else {
-			badVersion = true;
-			assertTrue("3.1 Bad version found" + thisPlugin.getVersionIdentifier().toString(), false);
-		}
-		if (!badVersion)
-			assertEquals("3.2", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
-	}
-	assertNotNull("3.3", pluginC_110);
-	assertNotNull("3.4", pluginC_210);
-
-	// look for tests.d - there should be 1
-	pluginDescriptors = registry.getPluginDescriptors("tests.d");
-	assertEquals("4.0", pluginDescriptors.length, 1);
-	assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
-	assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new SoftPrereqTest_9("baseTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
deleted file mode 100644
index cc3cd70..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-public class TestClass {
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
deleted file mode 100644
index d1069e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-public AllTests() {
-	super(null);
-}
-public AllTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(SimpleCacheTests.suite());
-	suite.addTest(LazyCacheTests.suite());
-	return suite;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
deleted file mode 100644
index 2c5cc59..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
deleted file mode 100644
index c885eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.model.Factory;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
-
-public class LazyCacheTests extends SimpleCacheTests {
-	public LazyCacheTests(String name) {
-		super(name);
-	}
-	public PluginRegistryModel doCacheRead(PluginRegistryModel inRegistry, DataInputStream input, Factory factory) {
-		// Cobble together a plugin path
-		Map regIndex = InternalPlatform.getRegIndex();
-		URL[] pluginPath = null;
-		if (regIndex != null) {
-			int entrySize = regIndex.keySet().size();
-			pluginPath = new URL[entrySize];
-			int i = 0;
-			for (Iterator list = regIndex.keySet().iterator(); list.hasNext();) {
-				String fileName = (String)list.next();
-				fileName = "file:" + fileName;
-				try {
-					pluginPath[i++] = new URL(fileName);
-				} catch (MalformedURLException badURL) {
-					assertTrue("2.1 Bad url found for " + fileName + ".", true);
-				}
-			}
-		}
-		RegistryCacheReader cacheReader = new RegistryCacheReader(factory, true);
-		PluginRegistryModel newRegistry = cacheReader.readPluginRegistry(input, pluginPath, true);
-		cacheReader.setLazilyLoadExtensions(false);
-		return newRegistry;
-	}
-	public static Test suite() {
-		TestSuite suite = new TestSuite("LazyCacheTests");
-		suite.addTest(new LazyCacheTests("pluginTest"));
-		suite.addTest(new LazyCacheTests("requiresTest"));
-		suite.addTest(new LazyCacheTests("libraryTest"));
-		suite.addTest(new LazyCacheTests("extensionTest"));
-		suite.addTest(new LazyCacheTests("readOnlyTest"));
-		suite.addTest(new LazyCacheTests("registryTest"));
-		suite.addTest(new LazyCacheTests("extExtPtLinkTest"));
-		suite.addTest(new LazyCacheTests("realRegistryTest"));
-		suite.addTest(new LazyCacheTests("fragmentTest"));
-		suite.addTest(new LazyCacheTests("fragmentPluginTest"));
-		suite.addTest(new LazyCacheTests("fragmentExtensionTest"));
-		suite.addTest(new LazyCacheTests("fragmentExtExtPtLinkTest"));
-		suite.addTest(new LazyCacheTests("fragmentLibraryTest"));
-		suite.addTest(new LazyCacheTests("fragmentReadOnlyTest"));
-		suite.addTest(new LazyCacheTests("fragmentRequiresTest"));
-		suite.addTest(new LazyCacheTests("fragmentRegistryTest"));
-		suite.addTest(new LazyCacheTests("testRegistryEOF"));
-		return suite;
-	}	
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
deleted file mode 100644
index e3819e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
+++ /dev/null
@@ -1,1435 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.model.*;
-
-public class SimpleCacheTests extends CacheHelpers {
-public SimpleCacheTests() {
-	super();
-}
-public SimpleCacheTests(String name) {
-	super(name);
-}
-public String[] extensionSetup() {
-	PluginDescriptorModel plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[3];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("First Extension Point");
-
-	pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
-	pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
-	// First group of properties
-	ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
-	for (int i = 0; i < propertyGroup1.length; i++) {
-		propertyGroup1[i] = new ConfigurationProperty();
-	}
-	propertyGroup1[0].setName("id");
-	propertyGroup1[0].setValue("category_id");
-	propertyGroup1[1].setName("name");
-	propertyGroup1[1].setValue("category_name");
-	// Second group of properties
-	ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
-	for (int i = 0; i < propertyGroup2.length; i++) {
-		propertyGroup2[i] = new ConfigurationProperty();
-	}
-	propertyGroup2[0].setName("id");
-	propertyGroup2[0].setValue("wizard_id");
-	propertyGroup2[1].setName("name");
-	propertyGroup2[1].setValue("wizard_name");
-	propertyGroup2[2].setName("class");
-	propertyGroup2[2].setValue("wizard_class");
-	// Third group of properties
-	ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
-	for (int i = 0; i < propertyGroup3.length; i++) {
-		propertyGroup3[i] = new ConfigurationProperty();
-	}
-	propertyGroup3[0].setName("class");
-	propertyGroup3[0].setValue("a selection class");
-
-	// First subelement group
-	ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup1.length; i++) {
-		subElementGroup1[i] = new ConfigurationElement();
-		subElementGroup1[i].setParent(pluginExtensions[2]);
-	}
-	subElementGroup1[0].setName("category");
-	subElementGroup1[0].setProperties(propertyGroup1);
-
-	subElementGroup1[1].setName("wizard");
-	subElementGroup1[1].setProperties(propertyGroup2);
-
-	// Second subelement group
-	ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup2.length; i++) {
-		subElementGroup2[i] = new ConfigurationElement();
-		subElementGroup2[i].setParent(subElementGroup1[1]);
-	}
-	subElementGroup2[0].setName("description");
-	subElementGroup2[0].setValue("This is just a description");
-	subElementGroup2[1].setName("selection");
-	subElementGroup2[1].setProperties(propertyGroup3);
-
-	// Now link them together
-	subElementGroup1[1].setSubElements(subElementGroup2);
-	pluginExtensions[2].setSubElements(subElementGroup1);
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  extensionTest
- *  Tests to ensure we cache extension entries correctly.
- */
-public void extensionTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extensionSetup();
-	// Don't resolve this registry as we don't define all the extension
-	// points.
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] extExtPtLinkSetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("abc1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[4];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
-	pluginExtensions[1].setName("Second Extension");
-	pluginExtensions[1].setId("second");
-	pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
-	pluginExtensions[2].setName("Third Extension");
-	pluginExtensions[2].setId("third");
-	pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
-	pluginExtensions[3].setName("Fourth Extension");
-	pluginExtensions[3].setId("fourth");
-	pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("firstExtPt");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	pluginExtensionPoints[1].setId("secondExtPt");
-	pluginExtensionPoints[2].setName("Third Extension Point");
-	pluginExtensionPoints[2].setId("thirdExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test2");
-	plugin.setId("abc2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("Another Extension Point");
-	pluginExtensionPoints[0].setId("anotherExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[1] = plugin;
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[2];
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  extExtPtLinkTest
- *  Tests to ensure we cache cross links for extensions and extension
- *  points correctly.
- */
-public void extExtPtLinkTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extExtPtLinkSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentExtensionSetup() {
-	PluginDescriptorModel plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	PluginFragmentModel fragment = new FragmentDescriptor();
-	fragment.setName("fragment name");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("1.0");
-	fragment.setVersion("2.0");
-	fragment.setId("fragmentId");
-	
-	// XXX Remove this once the issue of extensions have fragments
-	// as parents is solved
-	PluginFragmentModel[] fragmentList = new PluginFragmentModel[1];
-	fragmentList[0] = fragment;
-	plugin.setFragments(fragmentList);
-	
-	Extension[] pluginExtensions = new Extension[3];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("First Extension Point");
-
-	pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
-	pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
-	// First group of properties
-	ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
-	for (int i = 0; i < propertyGroup1.length; i++) {
-		propertyGroup1[i] = new ConfigurationProperty();
-	}
-	propertyGroup1[0].setName("id");
-	propertyGroup1[0].setValue("category_id");
-	propertyGroup1[1].setName("name");
-	propertyGroup1[1].setValue("category_name");
-	// Second group of properties
-	ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
-	for (int i = 0; i < propertyGroup2.length; i++) {
-		propertyGroup2[i] = new ConfigurationProperty();
-	}
-	propertyGroup2[0].setName("id");
-	propertyGroup2[0].setValue("wizard_id");
-	propertyGroup2[1].setName("name");
-	propertyGroup2[1].setValue("wizard_name");
-	propertyGroup2[2].setName("class");
-	propertyGroup2[2].setValue("wizard_class");
-	// Third group of properties
-	ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
-	for (int i = 0; i < propertyGroup3.length; i++) {
-		propertyGroup3[i] = new ConfigurationProperty();
-	}
-	propertyGroup3[0].setName("class");
-	propertyGroup3[0].setValue("a selection class");
-
-	// First subelement group
-	ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup1.length; i++) {
-		subElementGroup1[i] = new ConfigurationElement();
-		subElementGroup1[i].setParent(pluginExtensions[2]);
-	}
-	subElementGroup1[0].setName("category");
-	subElementGroup1[0].setProperties(propertyGroup1);
-
-	subElementGroup1[1].setName("wizard");
-	subElementGroup1[1].setProperties(propertyGroup2);
-
-	// Second subelement group
-	ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup2.length; i++) {
-		subElementGroup2[i] = new ConfigurationElement();
-		subElementGroup2[i].setParent(subElementGroup1[1]);
-	}
-	subElementGroup2[0].setName("description");
-	subElementGroup2[0].setValue("This is just a description");
-	subElementGroup2[1].setName("selection");
-	subElementGroup2[1].setProperties(propertyGroup3);
-
-	// Now link them together
-	subElementGroup1[1].setSubElements(subElementGroup2);
-	pluginExtensions[2].setSubElements(subElementGroup1);
-	fragment.setDeclaredExtensions(pluginExtensions);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-		
-	return localXMLFiles;
-}
-/*  fragmentExtensionTest
- *  Tests to ensure we cache extension entries off a fragment correctly.
- */
-public void fragmentExtensionTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentExtensionSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
-	// write to a cache file and read it back in
-	// Don't resolve this registry as we haven't put in all the extension
-	// points that are needed
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentExtExtPtLinkSetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("abc1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	FragmentDescriptor[] fragmentList = new FragmentDescriptor[2];
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setPlugin("abc1");
-	fragment.setPluginVersion("1.0");
-	fragment.setName("A fragment");
-	fragment.setProviderName("SomeoneElse");
-	fragment.setId("fragmentId1");
-	fragment.setVersion("1.1");
-	FragmentDescriptor[] pluginFragmentList = new FragmentDescriptor[1];
-	pluginFragmentList[0] = fragment;
-	plugin.setFragments(pluginFragmentList);
-
-	Extension[] pluginExtensions = new Extension[4];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
-	pluginExtensions[1].setName("Second Extension");
-	pluginExtensions[1].setId("second");
-	pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
-	pluginExtensions[2].setName("Third Extension");
-	pluginExtensions[2].setId("third");
-	pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
-	pluginExtensions[3].setName("Fourth Extension");
-	pluginExtensions[3].setId("fourth");
-	pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
-	fragment.setDeclaredExtensions(pluginExtensions);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("firstExtPt");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	pluginExtensionPoints[1].setId("secondExtPt");
-	pluginExtensionPoints[2].setName("Third Extension Point");
-	pluginExtensionPoints[2].setId("thirdExtPt");
-	fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[0] = plugin;
-	fragmentList[0] = fragment;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test2");
-	plugin.setId("abc2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("Second Fragment");
-	fragment.setPlugin("abc2");
-	fragment.setPluginVersion("1.0");
-	fragment.setVersion("3.4");
-	fragment.setId("fragmentId2");
-	pluginFragmentList = new FragmentDescriptor[1];
-	pluginFragmentList[0] = fragment;
-	plugin.setFragments(pluginFragmentList);
-	pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("Another Extension Point");
-	pluginExtensionPoints[0].setId("anotherExtPt");
-	fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[1] = plugin;
-	fragmentList[1] = fragment;
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[4];
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	for (int i = 0; i < fragmentList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginFragment(fragmentList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[pluginList.length + i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  fragmentExtExtPtLinkTest
- *  Tests to ensure we cache cross links for extensions and extension
- *  points within fragments correctly.
- */
-public void fragmentExtExtPtLinkTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentExtExtPtLinkSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-	// IStatus resolveStatus = registry.resolve(true, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentLibrarySetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setName("A fragment name");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("1.0");
-	fragment.setId("fragmentId");
-	FragmentDescriptor[] fragmentList = new FragmentDescriptor[1];
-	fragmentList[0] = fragment;
-	plugin.setFragments(fragmentList);
-
-	Library[] pluginRuntime = new Library[2];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	String[] exportString = { "*" };
-	pluginRuntime[0].setExports(exportString);
-	pluginRuntime[0].setType("code");
-	pluginRuntime[1].setName("xerces.jar");
-	fragment.setRuntime(pluginRuntime);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  fragmentLibraryTest
- *  Tests to ensure we cache library entries off fragements correctly.
- */
-public void fragmentLibraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentLibrarySetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentReadOnlySetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setName("fragment1");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("1.0");
-	fragment.setVersion("1.4");
-	fragment.setId("newFragmentId");
-	FragmentDescriptor[] fragmentList = new FragmentDescriptor[1];
-	fragmentList[0] = fragment;
-	plugin.setFragments(fragmentList);
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("org.eclipse.core.runtime");
-	fragment.setRequires(pluginRequires);
-
-	Library[] pluginRuntime = new Library[1];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	fragment.setRuntime(pluginRuntime);
-
-	Extension[] pluginExtensions = new Extension[1];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	fragment.setDeclaredExtensions(pluginExtensions);
-	ConfigurationElement[] subElements = new ConfigurationElement[1];
-	for (int i = 0; i < subElements.length; i++) {
-		subElements[i] = new ConfigurationElement();
-		subElements[i].setParent(pluginExtensions[0]);
-	}
-	subElements[0].setName("FirstSubelement");
-	ConfigurationProperty[] properties = new ConfigurationProperty[1];
-	for (int i = 0; i < properties.length; i++) {
-		properties[i] = new ConfigurationProperty();
-	}
-	properties[0].setName("FirstProperty");
-	properties[0].setValue("FirstValue");
-	subElements[0].setProperties(properties);
-	pluginExtensions[0].setSubElements(subElements);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  fragmentReadOnlyTest
- *  This is a very basic test to make sure we are caching a very
- *  simple registry and reading it back in correctly.
- */
-public void fragmentReadOnlyTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentReadOnlySetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-	registry.markReadOnly();
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentSetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	ByteArrayOutputStream fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	String[] localXMLFiles = new String[2];
-	localXMLFiles[0] = fs.toString();
-
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("1.0");
-	fragment.setName("The fragment's name");
-	fragment.setId("fragmentId");
-	fragment.setVersion("1.9");
-	fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
-	regWriter.writePluginFragment(fragment, w, 0);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-
-	return localXMLFiles;
-}
-/*  fragmentTest
- *  This is a very basic test to make sure we are caching a very
- *  simple fragment (one plugin with attirbutes only and a fragment
- *  that causes the name to change) and reading
- *  it back in correctly.
- */
-public void fragmentTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentPluginSetup() {
-	PluginDescriptor[] plugins = new PluginDescriptor[5];
-	
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("id1.0");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	plugins[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("id1.5");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.5");
-	plugins[1] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("id1.9");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.9");
-	plugins[2] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("id3.2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3.2");
-	plugins[3] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("id4.7");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("4.7");
-	plugins[4] = plugin;	
-
-	FragmentDescriptor[] fragmentList = new FragmentDescriptor[5];
-
-	FragmentDescriptor[] pluginFragmentList = new FragmentDescriptor[1];
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setPlugin("id1.0");
-	fragment.setPluginVersion("1.0");
-	fragment.setName("The fragment's name");
-	fragment.setId("frag1");
-	fragment.setVersion("1.1");
-	pluginFragmentList[0] = fragment;
-	plugins[0].setFragments(pluginFragmentList);
-	fragmentList[0] = fragment;
-
-	pluginFragmentList = new FragmentDescriptor[1];
-	fragment = new FragmentDescriptor();
-	fragment.setPlugin("id1.5");
-	fragment.setPluginVersion("1.5");
-	fragment.setName("The fragment's name");
-	fragment.setId("frag2");
-	fragment.setVersion("1.1");
-	fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
-	pluginFragmentList[0] = fragment;
-	plugins[1].setFragments(pluginFragmentList);
-	fragmentList[1] = fragment;
-
-	pluginFragmentList = new FragmentDescriptor[1];
-	fragment = new FragmentDescriptor();
-	fragment.setPlugin("id1.9");
-	fragment.setPluginVersion("1.9");
-	fragment.setName("The fragment's name");
-	fragment.setId("frag3");
-	fragment.setVersion("1.1");
-	fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT);
-	pluginFragmentList[0] = fragment;
-	plugins[2].setFragments(pluginFragmentList);
-	fragmentList[2] = fragment;
-
-	pluginFragmentList = new FragmentDescriptor[1];
-	fragment = new FragmentDescriptor();
-	fragment.setPlugin("id3.2");
-	fragment.setPluginVersion("3.0");
-	fragment.setName("The fragment's name");
-	fragment.setId("frag4");
-	fragment.setVersion("1.1");
-	fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE);
-	pluginFragmentList[0] = fragment;
-	plugins[3].setFragments(pluginFragmentList);
-	fragmentList[3] = fragment;
-
-	pluginFragmentList = new FragmentDescriptor[1];
-	fragment = new FragmentDescriptor();
-	fragment.setPlugin("id4.7");
-	fragment.setPluginVersion("1.5");
-	fragment.setName("The fragment's name");
-	fragment.setId("frag5");
-	fragment.setVersion("1.1");
-	fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL);
-	pluginFragmentList[0] = fragment;
-	plugins[4].setFragments(pluginFragmentList);
-	fragmentList[4] = fragment;
-
-	String[] localXMLFiles = new String[plugins.length + fragmentList.length];
-	for (int i = 0; i < plugins.length; i++) {
-		ByteArrayOutputStream fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(plugins[i], w, 0);
-		w.flush();
-		w.close();
-	
-		localXMLFiles[i] = fs.toString();
-	}
-	
-	for (int i = 0; i < fragmentList.length; i++) {
-		ByteArrayOutputStream fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginFragment(fragmentList[i], w, 0);
-		w.flush();
-		w.close();
-		localXMLFiles[plugins.length + i] = fs.toString();
-	}
-
-	return localXMLFiles;
-}
-/*  fragmentPluginTest
- *  This is a very basic test to make sure we are caching a plugin
- *  with one fragment and reading it back in correctly.
- */
-public void fragmentPluginTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentPluginSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentRegistrySetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3.0");
-	pluginList[1] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("2.0");
-	pluginList[2] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A Different Name");
-	plugin.setId("newId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[3] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A third name");
-	plugin.setId("thirdId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[4] = plugin;
-
-	FragmentDescriptor[] fragmentList = new FragmentDescriptor[5];
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setName("fragment");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setProviderName("Something");
-	fragment.setPluginVersion("1.0");
-	fragment.setId("fragmentId");
-	fragment.setVersion("3.3");
-	fragmentList[0] = fragment;
-
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragment");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setVersion("1.1");
-	fragment.setPluginVersion("3.0");
-	fragment.setId("fragmentId");
-	fragmentList[1] = fragment;
-
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragment");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("2.0");
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragmentList[2] = fragment;
-
-	fragment = new FragmentDescriptor();
-	fragment.setName("A Different Name For a Fragment");
-	fragment.setPlugin("newId");
-	fragment.setProviderName("IBM");
-	fragment.setPluginVersion("1.0");
-	fragment.setId("newFragmentId");
-	fragment.setVersion("3.3");
-	fragmentList[3] = fragment;
-
-	fragment = new FragmentDescriptor();
-	fragment.setName("final fragment");
-	fragment.setPlugin("thirdId");
-	fragment.setId("weird");
-	fragment.setProviderName("IBM");
-	fragment.setPluginVersion("1.0");
-	fragment.setVersion("7");
-	fragmentList[4] = fragment;
-
-	String[] localXMLFiles = new String[pluginList.length + fragmentList.length];
-	for (int i = 0; i < pluginList.length; i++) {
-		ByteArrayOutputStream fs;
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	for (int i = 0; i < fragmentList.length; i++) {
-		ByteArrayOutputStream fs;
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginFragment(fragmentList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i + pluginList.length] = fs.toString();
-	}
-
-	return localXMLFiles;
-}
-/*  fragmentRegistryTest
- *  Tests to ensure we cache a simple registry with fragments correctly.
- */
-public void fragmentRegistryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentRegistrySetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] fragmentRequiresSetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setName("fragment2");
-	fragment.setPlugin("org.eclipse.webdav");
-	fragment.setPluginVersion("1.0");
-	fragment.setVersion("1.0");
-	fragment.setId("fragmentId2");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[3];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("pluginId1");
-	pluginRequires[0].setVersion("4");
-	pluginRequires[0].setExport(true);
-	pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	pluginRequires[1].setPlugin("pluginId2");
-	pluginRequires[1].setOptional(true);
-	pluginRequires[2].setPlugin("pluginId3");
-	pluginRequires[2].setVersion("3");
-	fragment.setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[5];
-	localXMLFiles[0] = fs.toString();
-
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-	
-	plugin = new PluginDescriptor();
-	plugin.setName("First Prerequisite");
-	plugin.setId("pluginId1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("4");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2] = fs.toString();
-	
-	plugin = new PluginDescriptor();
-	plugin.setName("Second Prerequisite");
-	plugin.setId("pluginId2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("4");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[3] = fs.toString();
-	
-	plugin = new PluginDescriptor();
-	plugin.setName("Third Prerequisite");
-	plugin.setId("pluginId3");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[4] = fs.toString();
-	
-	return localXMLFiles;
-}
-/*  fragmentRequiresTest
- *  Tests to ensure we cache plugin prerequisite entries that hang
- *  off a fragment correctly.
- */
-public void fragmentRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = fragmentRequiresSetup();
-	// Don't resolve the registry.  All the prerequisites are not there.
-	// XXX - THIS SHOULD FAIL BUT DOES NOT
-	// 1GDU4UP: ITPCORE:ALL - fragments - don't check for existence of prereq's
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] librarySetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Library[] pluginRuntime = new Library[2];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	String[] exportString = { "*" };
-	pluginRuntime[0].setExports(exportString);
-	pluginRuntime[0].setType("code");
-	pluginRuntime[1].setName("xerces.jar");
-	plugin.setRuntime(pluginRuntime);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  libraryTest
- *  Tests to ensure we cache library entries correctly.
- */
-public void libraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = librarySetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] pluginSetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	ByteArrayOutputStream fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  pluginTest
- *  This is a very basic test to make sure we are caching a very
- *  simple registry (one plugin with attirbutes only) and reading
- *  it back in correctly.
- */
-public void pluginTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = pluginSetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] readOnlySetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("org.eclipse.core.runtime");
-	plugin.setRequires(pluginRequires);
-
-	Library[] pluginRuntime = new Library[1];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	plugin.setRuntime(pluginRuntime);
-
-	Extension[] pluginExtensions = new Extension[1];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	plugin.setDeclaredExtensions(pluginExtensions);
-	ConfigurationElement[] subElements = new ConfigurationElement[1];
-	for (int i = 0; i < subElements.length; i++) {
-		subElements[i] = new ConfigurationElement();
-		subElements[i].setParent(pluginExtensions[0]);
-	}
-	subElements[0].setName("FirstSubelement");
-	ConfigurationProperty[] properties = new ConfigurationProperty[1];
-	for (int i = 0; i < properties.length; i++) {
-		properties[i] = new ConfigurationProperty();
-	}
-	properties[0].setName("FirstProperty");
-	properties[0].setValue("FirstValue");
-	subElements[0].setProperties(properties);
-	pluginExtensions[0].setSubElements(subElements);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  readOnlyTest
- *  This is a very basic test to make sure we are caching a very
- *  simple registry and reading it back in correctly.
- */
-public void readOnlyTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = readOnlySetup();
-	// Don't resolve the registry as all the prerequisites aren't there
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-	registry.markReadOnly();
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-/*  realRegistryTest
- *  Tests to ensure we correctly cache the real plugin registry we are using.
- */
-public void realRegistryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	PluginRegistryModel registry = (PluginRegistryModel) Platform.getPluginRegistry();
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-/*  realRegistryTest
- *  Tests to ensure we correctly cache the real plugin registry we are using.
- */
-public void testRegistryEOF() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	PluginRegistryModel registry = (PluginRegistryModel) Platform.getPluginRegistry();
-
-	// write to a cache file and read it back in
-	ByteArrayOutputStream b = new ByteArrayOutputStream();
-	DataOutputStream output = new DataOutputStream(b);
-	doCacheWrite(registry, output, factory);
-
-	byte[] source = b.toByteArray();
-	byte[] dest = new byte[source.length-1];
-	System.arraycopy(source, 0, dest, 0, source.length - 1);
-	
-	DataInputStream input = new DataInputStream(new ByteArrayInputStream(dest));
-	PluginRegistryModel cachedRegistry = doCacheRead(registry, input, factory);
-
-	assertNull("1.0", cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-
-public String[] registrySetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3.0");
-	pluginList[1] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("2.0");
-	pluginList[2] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A Different Name");
-	plugin.setId("newId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[3] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A third name");
-	plugin.setId("thirdId");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[4] = plugin;
-
-	String[] localXMLFiles = new String[pluginList.length];
-	for (int i = 0; i < pluginList.length; i++) {
-		ByteArrayOutputStream fs;
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-
-	return localXMLFiles;
-}
-/*  registryTest
- *  Tests to ensure we cache a simple registry correctly.
- */
-public void registryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = registrySetup();
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public String[] requiresSetup() {
-	PluginDescriptor plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("org.eclipse.webdav");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[5];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("org.eclipse.core.runtime");
-	pluginRequires[0].setVersion("4");
-	pluginRequires[0].setExport(true);
-	pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-	pluginRequires[1].setPlugin("org.apache.xerces");
-	pluginRequires[1].setOptional(true);
-	pluginRequires[1].setVersion("1.4");
-	pluginRequires[1].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	pluginRequires[2].setPlugin("org.eclipse.core.resources");
-	pluginRequires[2].setVersion("3");
-	pluginRequires[2].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-	pluginRequires[3].setPlugin("anotherPrerequisite");
-	pluginRequires[3].setVersion("2.1.3");
-	pluginRequires[3].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-	pluginRequires[4].setPlugin("finalPrerequisite");
-	plugin.setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  requiresTest
- *  Tests to ensure we cache plugin prerequisite entries correctly.
- */
-public void requiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = requiresSetup();
-	// Don't resolve the registry.  All the prerequisites aren't there
-	PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
-	// write to a cache file and read it back in
-	PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
-	// Now compare the registries.  They should be the same
-	compareRegistries(registry, cachedRegistry);
-
-	registry = cachedRegistry = null;
-	factory = null;
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite("SimpleCacheTests");
-	suite.addTest(new SimpleCacheTests("pluginTest"));
-	suite.addTest(new SimpleCacheTests("requiresTest"));
-	suite.addTest(new SimpleCacheTests("libraryTest"));
-	suite.addTest(new SimpleCacheTests("extensionTest"));
-	suite.addTest(new SimpleCacheTests("readOnlyTest"));
-	suite.addTest(new SimpleCacheTests("registryTest"));
-	suite.addTest(new SimpleCacheTests("extExtPtLinkTest"));
-	suite.addTest(new SimpleCacheTests("realRegistryTest"));
-	suite.addTest(new SimpleCacheTests("fragmentTest"));
-	suite.addTest(new SimpleCacheTests("fragmentPluginTest"));
-	suite.addTest(new SimpleCacheTests("fragmentExtensionTest"));
-	suite.addTest(new SimpleCacheTests("fragmentExtExtPtLinkTest"));
-	suite.addTest(new SimpleCacheTests("fragmentLibraryTest"));
-	suite.addTest(new SimpleCacheTests("fragmentReadOnlyTest"));
-	suite.addTest(new SimpleCacheTests("fragmentRequiresTest"));
-	suite.addTest(new SimpleCacheTests("fragmentRegistryTest"));
-	suite.addTest(new SimpleCacheTests("testRegistryEOF"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
deleted file mode 100644
index b59fa97..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests() {
-	super(null);
-}
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests(String name) {
-	super(name);
-}
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(AuthorizationDatabaseTest.suite());
-		suite.addTest(CipherStreamsTest.suite());
-		suite.addTest(CipherTest.suite());
-		suite.addTest(LogSerializationTest.suite());
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
deleted file mode 100644
index 789c71a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Map;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.AuthorizationDatabase;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class AuthorizationDatabaseTest extends RuntimeTest {
-public AuthorizationDatabaseTest() {
-	super(null);
-}
-public AuthorizationDatabaseTest(String name) {
-	super(name);
-}
-public static void main(String[] args) {
-	junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new AuthorizationDatabaseTest("test1"));
-	suite.addTest(new AuthorizationDatabaseTest("test2"));
-	suite.addTest(new AuthorizationDatabaseTest("test3"));
-	return suite;
-}
-public void test1(){
-	File file = new File(Platform.getLocation().toFile(), Long.toString(System.currentTimeMillis()) + ".auth");
-	try {
-		String filename = file.getAbsolutePath();
-		String password = "testing";
-		if(file.exists()){
-			file.delete();
-		}
-	
-		AuthorizationDatabase db = new AuthorizationDatabase(filename, password);
-	
-		URL serverUrl = new URL("http://www.oti.com/");
-		URL resourceUrl = new URL("http://www.oti.com/folder/");
-		String realm = "WallyWorld";
-		String authScheme = "Basic";
-		Map info = new Hashtable(2);
-		info.put("username", "jonathan");
-		info.put("password", "testing");
-	
-		db.addAuthorizationInfo(serverUrl, realm, authScheme, info);
-		db.addProtectionSpace(resourceUrl, realm);
-	
-		db.save();
-	
-		db = new AuthorizationDatabase(filename, password);
-	
-		info = db.getAuthorizationInfo(serverUrl, realm, authScheme);
-		assertEquals("00", "jonathan", info.get("username"));
-		assertEquals("01", "testing", info.get("password"));
-	
-		assertEquals("02", realm, db.getProtectionSpace(resourceUrl));
-		assertEquals("03", realm, db.getProtectionSpace(new URL(resourceUrl.toString() + "file")));
-	} catch(Exception e){
-		assertTrue("04", false);
-	} finally {
-		file.delete();
-	}
-		
-}
-public void test2(){
-	AuthorizationDatabase db = new AuthorizationDatabase();
-
-	URL url1 = null;
-	URL url2 = null;
-	try {
-		url1 = new URL("http://www.oti.com/file1");
-		url2 = new URL("http://www.oti.com/folder1/");
-	} catch(MalformedURLException e){
-		assertTrue("00", false);
-	}
-
-	String realm1 = "realm1";
-	String realm2 = "realm2";
-
-	db.addProtectionSpace(url1, realm1);
-
-	assertEquals("00", realm1, db.getProtectionSpace(url1));
-	assertEquals("01", realm1, db.getProtectionSpace(url2));
-
-	db.addProtectionSpace(url2, realm1);
-
-	assertEquals("02", realm1, db.getProtectionSpace(url1));
-	assertEquals("03", realm1, db.getProtectionSpace(url2));
-
-	db.addProtectionSpace(url2, realm2);
-
-	assertTrue("04", db.getProtectionSpace(url1) == null);
-	assertEquals("05", realm2, db.getProtectionSpace(url2));
-
-	db.addProtectionSpace(url1, realm1);
-
-	assertEquals("05", realm1, db.getProtectionSpace(url1));
-	assertEquals("06", realm1, db.getProtectionSpace(url2));
-}
-public void test3(){
-	AuthorizationDatabase db = new AuthorizationDatabase();
-
-	URL url1 = null;
-	try {
-		url1 = new URL("http://www.oti.com");
-	} catch(MalformedURLException e){
-		assertTrue("00", false);
-	}
-
-	Hashtable info = new Hashtable(2);
-	db.addAuthorizationInfo(url1, "realm1", "Basic", info);
-
-	assertTrue("01", db.getAuthorizationInfo(url1, "realm1", "Basic") != null);
-	db.flushAuthorizationInfo(url1, "realm1", "Basic");
-	assertTrue("02", db.getAuthorizationInfo(url1, "realm1", "Basic") == null);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
deleted file mode 100644
index 8a49082..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.CipherInputStream;
-import org.eclipse.core.internal.runtime.CipherOutputStream;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class CipherStreamsTest extends RuntimeTest {
-public CipherStreamsTest() {
-	super(null);
-}
-public CipherStreamsTest(String name) {
-	super(name);
-}
-protected void doCipherTest(String password, byte[] data) {
-	try {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		CipherOutputStream cos = new CipherOutputStream(baos, password);
-		cos.write(data);
-		cos.close();
-		
-		byte[] encryptedData = baos.toByteArray();
-		ByteArrayInputStream bais = new ByteArrayInputStream(encryptedData);
-		CipherInputStream cis = new CipherInputStream(bais, password);
-		byte[] decryptedData = new byte[data.length];
-		cis.read(decryptedData);
-		assertTrue("01", cis.read() == -1);
-		cis.close();
-		
-		assertEquals("02", data.length, decryptedData.length);
-		for(int i = 0; i < data.length; ++i){
-			assertEquals("03."+i, data[i], decryptedData[i]);
-		}
-	} catch (IOException e) {
-		fail("99", e);
-	}
-}
-public static void main(String[] args) {
-	junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new CipherStreamsTest("test1"));
-	return suite;
-}
-protected String getLongMessage() {
-	return "This is a test!This is a test!This is a test!This is a test!This is a test!"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"This is a very long message that contains quite a lot of bytes and thus" +
-		"may prove to make for a more interesting test case than the far simpler" +
-		"(and admittedly mundane) messages that are also included in this test"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences";
-}
-protected String[] getMessages() {
-	return new String[] {
-		"This is a test!",
-		"",
-		"a",
-		getLongMessage(),
-		getVeryLongMessage(),
-	};
-}
-protected String[] getPasswords() {
-	return new String[] {
-		"",
-		"pasord",
-		" ",
-		"This is a very long password that contains quite a lot of bytes and thus" +
-		"may prove to make for a more interesting test case than the far simpler" +
-		"(and admittedly mundane) passwords that are also included in this array",
-	};
-}
-protected String getVeryLongMessage() {
-	StringBuffer message = new StringBuffer(1000);
-	while (message.length() < 5300) {
-		message.append(getLongMessage());
-	}
-	return message.toString();
-}
-
-public void test1(){
-	String[] passwords = getPasswords();
-	String[] messages = getMessages();
-	for (int i = 0; i < messages.length; i++) {
-		byte[] data = messages[i].getBytes();
-		for (int j = 0; j < passwords.length; j++) {
-			doCipherTest(passwords[j], data);
-		}
-	}
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
deleted file mode 100644
index 6dad39e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.Cipher;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class CipherTest extends RuntimeTest {
-public CipherTest() {
-	super(null);
-}
-public CipherTest(String name) {
-	super(name);
-}
-public static void main(String[] args) {
-	junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
-	return new TestSuite(CipherTest.class);
-//	TestSuite suite = new TestSuite();
-//	suite.addTest(new CipherTest("test1"));
-//	return suite;
-}
-public void test1(){
-	try {
-		String[] passwords = getPasswords();
-		String[] messages = getMessages();
-		for (int i = 0; i < messages.length; i++) {
-			byte[] data = messages[i].getBytes();
-			for (int j = 0; j < passwords.length; j++) {
-				doCipherTest(passwords[j], data);
-			}
-		}
-	} catch(Exception e){
-		fail("04", e);
-	}
-}
-public void testDifferentChunkSizes() {
-	//read and write different chunk sizes at once.  Should still decrypt to
-	//be the same bytes
-	byte[] inputBytes = "This is the message that will be encrypted.".getBytes();	
-	String password = "music";
-	
-	//encrypt first ten bytes, then remaining bytes
-	try {
-		Cipher cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
-		byte[] encrypted1 = cipher.cipher(inputBytes, 0, 10);
-		//introduce some noise by encrypting an empty array
-		cipher.cipher(new byte[0]);
-		byte[] encrypted2 = cipher.cipher(inputBytes, 10, inputBytes.length-10);
-		byte[] fullEncrypted = new byte[encrypted1.length + encrypted2.length];
-		System.arraycopy(encrypted1, 0, fullEncrypted, 0, encrypted1.length);
-		System.arraycopy(encrypted2, 0, fullEncrypted, encrypted1.length, encrypted2.length);
-
-		cipher = new Cipher(Cipher.DECRYPT_MODE, password);
-		//introduce some noise by decrypting an empty array
-		cipher.cipher(new byte[0]);
-		//now decrypt all at once
-		byte[] result = cipher.cipher(fullEncrypted);
-		
-		assertEquals("1.0", inputBytes.length, result.length);
-		for (int i = 0; i < inputBytes.length; i++) {
-			assertEquals("2." + i, inputBytes[i], result[i]);
-		}
-	} catch (Exception e) {
-		fail("1.99", e);
-	}
-}
-	
-protected String[] getMessages() {
-	return new String[] {
-		"This is a test a test!",
-		"",
-		"a",
-		getLongMessage(),
-		getVeryLongMessage(),
-	};
-}
-protected String getLongMessage() {
-	return "This is a test!This is a test!This is a test!This is a test!This is a test!"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"This is a very long message that contains quite a lot of bytes and thus" +
-		"may prove to make for a more interesting test case than the far simpler" +
-		"(and admittedly mundane) messages that are also included in this test"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
-		"este e' o meu conteudo (portuguese)there is no imagination for more sentences";
-}
-protected String[] getPasswords() {
-	return new String[] {
-		"",
-		"password",
-		"a",
-		"This is a very long password that contains quite a lot of bytes and thus" +
-		"may prove to make for a more interesting test case than the far simpler" +
-		"(and admittedly mundane) passwords that are also included in this array",
-	};
-}
-protected String getVeryLongMessage() {
-	StringBuffer message = new StringBuffer(1000);
-	while (message.length() < 5000) {
-		message.append(getLongMessage());
-	}
-	return message.toString();
-}
-protected void doCipherTest(String password, byte[] data) throws Exception {
-	Cipher cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
-	byte[] encryptedData = cipher.cipher(data);
-	assertEquals("00", data.length, encryptedData.length);
-	
-	cipher = new Cipher(Cipher.DECRYPT_MODE, password);
-	byte[] decryptedData = cipher.cipher(encryptedData);
-	assertEquals("02", data.length, decryptedData.length);
-	for(int i = 0; i < data.length; ++i){
-		assertEquals("03."+i, data[i], decryptedData[i]);
-	}
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
deleted file mode 100644
index 8e760b4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.PlatformLogWriter;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class LogSerializationTest extends RuntimeTest {
-	
-	protected File logFile = null;
-
-public LogSerializationTest(String name) {
-	super(name);
-}
-public LogSerializationTest() {
-	super("");
-}
-public static Test suite() {
-	return new TestSuite(LogSerializationTest.class);
-//	TestSuite suite = new TestSuite();
-//	suite.addTest(new LogSerializationTest("testDeepMultiStatus"));
-//	return suite;
-}
-protected void assertEquals(String msg, IStatus[] expected, IStatus[] actual) {
-	if (expected == null) {
-		assertNull(msg + " expected null but got: " + actual, actual);
-		return;
-	}
-	if (actual == null) {
-		assertNull(msg + " expected " + expected + " but got null", expected);
-		return;
-	}
-	assertEquals(msg + " different number of statuses", expected.length, actual.length);
-	for (int i = 0, imax = expected.length; i < imax; i++) {
-		assertEquals(msg + " differ at status " + i, expected[i], actual[i]);
-	}
-}
-protected void assertEquals(String msg, IStatus expected, IStatus actual) {
-	assertEquals(msg + " severity", expected.getSeverity(), actual.getSeverity());
-	assertEquals(msg + " plugin-id", expected.getPlugin(), actual.getPlugin());
-	assertEquals(msg + " code", expected.getCode(), actual.getCode());
-	assertEquals(msg + " message", expected.getMessage(), actual.getMessage());
-	assertEquals(msg + " exception", expected.getException(), actual.getException());
-	assertEquals(msg + " children", expected.getChildren(), actual.getChildren());
-}
-protected void assertEquals(String msg, Throwable expected, Throwable actual) {
-	if (expected == null) {
-		assertNull(msg + " expected null but got: " + actual, actual);
-		return;
-	}
-	if (actual == null) {
-		assertNull(msg + " expected " + expected + " but got null", expected);
-		return;
-	}
-	assertEquals(msg + " stack trace", encodeStackTrace(expected),encodeStackTrace(actual));
-	assertEquals(msg + " message", expected.getMessage(), actual.getMessage());
-}
-protected String encodeStackTrace(Throwable t) {
-	StringWriter sWriter = new StringWriter();
-	PrintWriter pWriter = new PrintWriter(sWriter);
-	pWriter.println();
-	t.printStackTrace(pWriter);
-	pWriter.flush();
-	return canonicalizeStackTrace(sWriter.toString());
-}
-/**
- * Returns the given stack trace in a canonical format in order to make stack
- * trace comparisons easier. The canonical format is: each line is ended by a
- * <code>'\n'</code> character, each line (except the first one) starts with a
- * <code>'\t'</code> character, there are no other occurrences of space
- * characters other than ' ', and there are no consecutive occurrences of new-
- * line or space characters.
- */
-protected String canonicalizeStackTrace(String stackTrace) {
-	final char NEW_LINE = '\n';
-	final char TAB = '\t';
-	final char SPACE = ' ';
-	final String LINE_SEPARATORS = "\r\n\f";
-	final String SPACES = "\t ";
-	StringBuffer sb = new StringBuffer(stackTrace.trim());
-	sb.append(NEW_LINE);
-	char lastChar = 0;
-	for (int i = 0; i < sb.length();) {
-		// only \n is used as line separator, with no consecutive occurrences
-		if (LINE_SEPARATORS.indexOf(sb.charAt(i)) != -1)
-			if (LINE_SEPARATORS.indexOf(lastChar) != -1) {
-				sb.deleteCharAt(i);
-				continue;
-			} else
-				sb.setCharAt(i, NEW_LINE);
-		// each line (except the first one) starts with a tab
-		else if (lastChar == NEW_LINE)
-			sb.insert(i, TAB);
-		// only ' ' is used as space, with no consecutive occurrences				
-		else if (SPACES.indexOf(sb.charAt(i)) != -1)
-			if (SPACES.indexOf(lastChar) != -1) {
-				sb.deleteCharAt(i);
-				continue;
-			} else
-				sb.setCharAt(i, SPACE);
-		lastChar = sb.charAt(i);
-		i++;
-	}
-	return sb.toString();
-}
-protected IStatus[] getInterestingMultiStatuses() {
-	IStatus[] interesting = getInterestingStatuses();
-	int len = interesting.length;
-	IStatus[][] interestingChildren = new IStatus[len][];
-	for (int i = 0; i < len; i++) {
-		IStatus[] subArray = new IStatus[len];
-		System.arraycopy(interesting, 0, subArray, 0, len);
-		interestingChildren[i] = subArray;
-	}
-	int childOff = 0;
-	return new IStatus[] {
-		new MultiStatus("plugin-id", 1, interestingChildren[childOff++ % len], "message", null),
-		new MultiStatus("org.foo.bar", 5, interestingChildren[childOff++ % len], "message", new NullPointerException()),
-		new MultiStatus("plugin-id", 8, interestingChildren[childOff++ % len], "message", null),
-		new MultiStatus("plugin-id", 0, interestingChildren[childOff++ % len], "message", new IllegalStateException()),
-		new MultiStatus("plugin-id", 65756, interestingChildren[childOff++ % len], "message", null),
-		new MultiStatus(".", 1, interestingChildren[childOff++ % len], "message", null),
-		new MultiStatus("org.foo.blaz", 1, interestingChildren[childOff++ % len], "", null),
-		new MultiStatus("plugin-id", 1, interestingChildren[childOff++ % len], "%$(% 98%(%(*^", null),
-		new MultiStatus("plugin-id", 1, "message", null),
-		new MultiStatus("..", 87326, "", null),
-	};
-}
-protected IStatus[] getInterestingStatuses() {
-	return new IStatus[] {
-		new Status(IStatus.WARNING, "(#(*$%#", 1, "../\\\\\'\'\"", new NullPointerException()),
-		new Status(IStatus.WARNING, "org.foo", 1, "This is the message", null),
-		new Status(IStatus.ERROR, "org.foo", 1, "This is the message", new IllegalStateException()),
-		new Status(IStatus.OK, ".", 1, "This is the message", new NullPointerException()),
-		new Status(IStatus.INFO, "org.asdfhsfhsdf976dsf6sd0f6s", 1, "#*&^$(*&#@^$)(#&)(", null),
-	};
-}
-protected void doTest(String msg, IStatus[] oldStats) {
-	writeLog(oldStats);
-	IStatus[] newStats = readLog();
-	assertEquals(msg, oldStats, newStats);
-}
-protected void doTest(String msg, IStatus status) {
-	doTest(msg, new IStatus[] {status});
-}
-protected IStatus[] readLog() {
-	PlatformLogReader reader = new PlatformLogReader();
-	return reader.readLogFile(logFile.getAbsolutePath());
-}
-protected void setUp() throws Exception {
-	super.setUp();
-	//setup the log file
-	if (logFile == null) {
-		File parent = Platform.getLocation().toFile();
-		String logName = Long.toString(System.currentTimeMillis()) + ".log";
-		logFile = new File(parent, logName);
-	}
-}
-protected void tearDown() throws Exception {
-	super.tearDown();
-	logFile.delete();
-}
-public void testDeepMultiStatus() {
-	MultiStatus multi = new MultiStatus("id", 1, getInterestingMultiStatuses(), "ok", null);
-	for (int i = 0; i < 5; i++) {
-		multi = new MultiStatus("id", 1, new IStatus[] {multi}, "ok", null);
-		doTest("1." + i, multi);
-	}
-}
-public void testMultiMultiStatusSerialize() {
-	IStatus[] interesting = getInterestingMultiStatuses();
-	int len = interesting.length;
-	for (int i = 1; i < len; i++) {
-		IStatus[] subArray = new IStatus[len];
-		System.arraycopy(interesting, 0, subArray, 0, len);
-		doTest("1." + i, subArray);
-	}	
-}
-public void testMultiSerialize() {
-	IStatus[] interesting = getInterestingStatuses();
-	int len = interesting.length;
-	for (int i = 1; i < len; i++) {
-		IStatus[] subArray = new IStatus[len];
-		System.arraycopy(interesting, 0, subArray, 0, len);
-		doTest("1." + i, subArray);
-	}	
-}
-public void testMultiStatus() {
-	IStatus[] interesting = getInterestingMultiStatuses();
-	for (int i = 0; i < interesting.length; i++) {
-		doTest("1." + i, interesting[i]);
-	}
-}
-public void testSimpleSerialize() {
-	IStatus[] interesting = getInterestingStatuses();
-	for (int i = 0; i < interesting.length; i++) {
-		doTest("1." + i, interesting[i]);
-	}
-}
-
-protected void writeLog(IStatus status) {
-	writeLog(new IStatus[] {status});
-}
-protected void writeLog(IStatus[] statuses) {
-	if (logFile.exists())
-		logFile.delete();
-	PlatformLogWriter writer = new PlatformLogWriter(logFile);
-	for (int i = 0; i < statuses.length; i++) {
-		writer.logging(statuses[i], "org.eclipse.core.tests.runtime");
-	}
-	writer.shutdown();
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
deleted file mode 100644
index bb6411a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-
-/**
- * Reads a structured log from disk and reconstructs status and exception objects.
- * General strategy: log entries that are malformed in any way are skipped, and an extra
- * status is returned mentioned that there were problems.
- */
-public class PlatformLogReader {
-	private ArrayList list = null;
-	private String currentLine = "";
-	private BufferedReader reader;
-
-	// constants copied from the PlatformLogWriter (since they are private
-	// to that class and this class should be used only in test suites)
-	private static final String KEYWORD_SESSION = "!SESSION";
-	private static final String KEYWORD_ENTRY = "!ENTRY";
-	private static final String KEYWORD_SUBENTRY = "!SUBENTRY";
-	private static final String KEYWORD_MESSAGE = "!MESSAGE";
-	private static final String KEYWORD_STACK = "!STACK";
-
-	private static final int NULL = -2;
-	private static final int SESSION = 1;
-	private static final int ENTRY = 2;
-	private static final int SUBENTRY = 4;
-	private static final int MESSAGE = 8;
-	private static final int STACK = 16;
-	private static final int UNKNOWN = 32;
-
-
-protected void log(Exception ex) {
-	String msg = Policy.bind("meta.exceptionParsingLog", ex.getMessage());
-	list.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, msg, ex));
-}
-protected Throwable readException(String message) throws IOException {
-	if (currentLine == null || getLineType() != STACK)
-		return null;
-	StringTokenizer tokenizer = new StringTokenizer(currentLine);
-	tokenizer.nextToken();
-	// FIXME: handle the code to read status objects which were
-	// nested inside of CoreExceptions in the log.
-	int hasStatus = Integer.parseInt(tokenizer.nextToken());
-	currentLine = reader.readLine();
-	return new FakeException(null, readText());
-}
-/**
- * Reads the given log file and returns the contained status objects. 
- * If the log file could not be read, a status object indicating this fact
- * is returned.
- */
-public synchronized IStatus[] readLogFile(String path) {
-	list = new ArrayList();
-	InputStream input = null;
-	try {
-		input = new FileInputStream(path);
-		reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));//$NON-NLS-1$
-		currentLine = reader.readLine();
-		while (currentLine != null) {
-			switch (getLineType()) {
-				case ENTRY:
-					IStatus status = readEntry();
-					if (status != null)
-						list.add(status);
-					break;
-				case SESSION:
-					readSession();
-					break;
-				case SUBENTRY:
-				case MESSAGE:
-				case STACK:
-				case UNKNOWN:
-					currentLine = reader.readLine();
-					break;
-			}
-		}
-	} catch (IOException e) {
-		log(e);
-	} finally {
-		try {
-			if (input != null)
-				input.close();
-		} catch (IOException e) {
-			log(e);
-		}
-	}
-	return (IStatus[]) list.toArray(new IStatus[list.size()]);
-}
-protected int getLineType() {
-	if (currentLine == null) 
-		return NULL;
-	StringTokenizer tokenizer = new StringTokenizer(currentLine);
-	if (tokenizer.hasMoreTokens()) {
-		String token = tokenizer.nextToken();
-		if (token.equals(KEYWORD_SESSION))
-			return SESSION;
-		if (token.equals(KEYWORD_ENTRY))
-			return ENTRY;
-		if (token.equals(KEYWORD_SUBENTRY))
-			return SUBENTRY;
-		if (token.equals(KEYWORD_MESSAGE))
-			return MESSAGE;
-		if (token.equals(KEYWORD_STACK))
-			return STACK;
-	}
-	return UNKNOWN;
-}
-
-/**
- * A reconsituted exception that only contains a stack trace and a message.
- */
-class FakeException extends Throwable {
-	private String message;
-	private String stackTrace;
-	FakeException(String msg, String stack) {
-		this.message = msg;
-		this.stackTrace = stack;
-	}
-	public String getMessage() {
-		return message;
-	}
-	public void printStackTrace() {
-		printStackTrace(System.out);
-	}
-	public void printStackTrace(PrintWriter writer) {
-		writer.println(stackTrace);
-	}
-	public void printStackTrace(PrintStream stream) {
-		stream.println(stackTrace);
-	}		
-}
-protected IStatus readEntry() throws IOException {
-	if (currentLine == null || getLineType() != ENTRY)
-		return null;
-	StringTokenizer tokens = new StringTokenizer(currentLine);
-	// skip over the ENTRY keyword
-	tokens.nextToken();
-	String pluginID = tokens.nextToken();
-	int severity = Integer.parseInt(tokens.nextToken());
-	int code = Integer.parseInt(tokens.nextToken());
-	// ignore the rest of the line since its the date
-	currentLine = reader.readLine();
-	String message = readMessage();
-	Throwable exception = readException(message);
-	if (currentLine == null || getLineType() != SUBENTRY)
-		return new Status(severity, pluginID, code, message, exception);
-	MultiStatus parent = new MultiStatus(pluginID, code, message, exception);
-	readSubEntries(parent);
-	return parent;
-}
-protected void readSubEntries(MultiStatus parent) throws IOException {
-	while (getLineType() == SUBENTRY) {
-		StringTokenizer tokens = new StringTokenizer(currentLine);
-		// skip over the subentry keyword
-		tokens.nextToken();
-		int currentDepth = Integer.parseInt(tokens.nextToken());
-		String pluginID = tokens.nextToken();
-		int severity = Integer.parseInt(tokens.nextToken());
-		int code = Integer.parseInt(tokens.nextToken());
-		// ignore the rest of the line since its the date
-		currentLine = reader.readLine();
-		String message = readMessage();
-		Throwable exception = readException(message);
-	
-		IStatus current = new Status(severity, pluginID, code, message, exception);
-		if (currentLine == null || getLineType() != SUBENTRY) {
-			parent.add(current);
-			return;
-		}
-
-		tokens = new StringTokenizer(currentLine);
-		tokens.nextToken();
-		int depth = Integer.parseInt(tokens.nextToken());
-		if (currentDepth == depth) {
-			// next sub-entry is a sibling
-			parent.add(current);
-		} else if (currentDepth == (depth - 1)) {
-			// next sub-entry is a child
-			current = new MultiStatus(pluginID, code, message, exception);
-			readSubEntries((MultiStatus) current);
-			parent.add(current);
-		} else {
-			parent.add(current);
-			return;
-		}
-	}
-}
-protected int readDepth() throws IOException {
-	StringTokenizer tokens = new StringTokenizer(currentLine);
-	// skip the keyword
-	tokens.nextToken();
-	return Integer.parseInt(tokens.nextToken());
-}
-protected String readMessage() throws IOException {
-	if (currentLine == null || getLineType() != MESSAGE)
-		return "";
-	StringBuffer buffer = new StringBuffer();
-	buffer.append(currentLine.substring(KEYWORD_MESSAGE.length()+1, currentLine.length()));
-	currentLine = reader.readLine();
-	buffer.append(readText());
-	return buffer.toString();
-}
-protected String readSession() throws IOException {
-	if (currentLine == null || getLineType() != SESSION)
-		return "";
-	currentLine = reader.readLine();
-	return readText();
-}
-protected String readText() throws IOException {
-	StringBuffer buffer = new StringBuffer();
-	if (currentLine == null || getLineType() != UNKNOWN)
-		return "";
-	else buffer.append(currentLine);
-	boolean done = false;
-	while (!done) {
-		currentLine = reader.readLine();
-		if (currentLine == null) {
-			done = true;
-			continue;
-		}
-		if (getLineType() == UNKNOWN) {
-			// preserves line terminators between lines
-			buffer.append('\n');			
-			buffer.append(currentLine);
-		} else
-			done = true;
-	}
-	return buffer.toString();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
deleted file mode 100644
index a3b90e0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleA extends Plugin {
-		
-public SampleA (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleA");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
deleted file mode 100644
index 39b38df..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleB extends Plugin {
-
-public SampleB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
deleted file mode 100644
index 95b224a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleCPB extends Plugin {
-
-public SampleCPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleCPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
deleted file mode 100644
index f9e311f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleCPR extends Plugin {
-
-public SampleCPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleCPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
deleted file mode 100644
index 7d65ff5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleD extends Plugin {
-
-public SampleD (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleD");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
deleted file mode 100644
index a58fce0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleE extends Plugin {
-
-public SampleE (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleE");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
deleted file mode 100644
index 7a7cc31..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleFFB extends Plugin {
-
-public SampleFFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleFFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
deleted file mode 100644
index 79a88cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleFFR extends Plugin {
-
-public SampleFFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleFFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
deleted file mode 100644
index 6081ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleGFR extends Plugin {
-		
-public SampleGFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleGFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
deleted file mode 100644
index e4715fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleGPR extends Plugin {
-		
-public SampleGPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleGPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
deleted file mode 100644
index 1ea710f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleHFB extends Plugin {
-		
-public SampleHFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleHFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
deleted file mode 100644
index 10476e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleHPR extends Plugin {
-		
-public SampleHPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleHPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
deleted file mode 100644
index 1e9b627..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleIFR extends Plugin {
-		
-public SampleIFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleIFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
deleted file mode 100644
index 1c579bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleIPB extends Plugin {
-		
-public SampleIPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleIPBS");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
deleted file mode 100644
index 8d4c5dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleJFB extends Plugin {
-		
-public SampleJFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleJFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
deleted file mode 100644
index e5f5fd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleJPB extends Plugin {
-		
-public SampleJPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleJPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
deleted file mode 100644
index e569b8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKFR extends Plugin {
-		
-public SampleKFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleKFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
deleted file mode 100644
index fa60ef9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKPB extends Plugin {
-		
-public SampleKPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleKPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
deleted file mode 100644
index cabdff2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKPR extends Plugin {
-		
-public SampleKPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleKPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
deleted file mode 100644
index 968210b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLFB extends Plugin {
-		
-public SampleLFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleLFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
deleted file mode 100644
index 7d79579..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLPB extends Plugin {
-		
-public SampleLPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleLPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
deleted file mode 100644
index f0b219e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLPR extends Plugin {
-		
-public SampleLPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleLPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
deleted file mode 100644
index a8afc3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMFB extends Plugin {
-		
-public SampleMFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleMFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
deleted file mode 100644
index d22552a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMFR extends Plugin {
-		
-public SampleMFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleMFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
deleted file mode 100644
index 51d3f46..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMPR extends Plugin {
-		
-public SampleMPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleMPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
deleted file mode 100644
index 80cf7a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNFB extends Plugin {
-		
-public SampleNFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleNFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
deleted file mode 100644
index 10bc763..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNFR extends Plugin {
-		
-public SampleNFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleNFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
deleted file mode 100644
index a3860d1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNPB extends Plugin {
-		
-public SampleNPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleNPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
deleted file mode 100644
index 8ccea8a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOFB extends Plugin {
-		
-public SampleOFB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleOFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
deleted file mode 100644
index 8f98b4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOFR extends Plugin {
-		
-public SampleOFR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleOFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
deleted file mode 100644
index 69d8fe9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOPB extends Plugin {
-		
-public SampleOPB (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleOPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
deleted file mode 100644
index 0b7b40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOPR extends Plugin {
-		
-public SampleOPR (IPluginDescriptor descriptor) {
-	super(descriptor);
-}
-
-public String getSampleString() {
-	return ("A sample string from class sampleOPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
deleted file mode 100644
index 3125d8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-public AllTests() {
-	super(null);
-}
-public AllTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(ApiTest.suite());
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
deleted file mode 100644
index daca20d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.tests.harness.*;
-import java.net.*;
-import junit.framework.*;
-
-public class ApiTest extends EclipseWorkspaceTest {
-public ApiTest() {
-	super(null);
-}
-public ApiTest(String name) {
-	super(name);
-}
-public void baseTest() {
-
-	String id = "com.ibm.eclipse.core.tests.plugins.parser.1";
-
-	String[] pid = { "com.ibm.eclipse.core.tests.plugins.parser.2", "com.ibm.eclipse.core.tests.plugins.parser.3" };
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL URLList[] = new URL[1];
-	try {
-		URLList[0] = new URL("vaLoader:/N:/Eclipse TOR Core Test/0.042b/project_resources/IBM Eclipse Core Tests Plugin/plugins-test-files/plugins.parser.1/");
-	} catch (java.net.MalformedURLException mfe) {
-		assertTrue("Malformed URL Exception encountered", true);
-	}
-	IPluginRegistry registry = doParsing(factory, URLList);
-	IPluginDescriptor plugin = registry.getPluginDescriptor(id);
-
-	// check descriptor
-	assertNotNull("0.0", plugin);
-	assertEquals("0.1", plugin.getUniqueIdentifier(), id);
-	assertEquals("0.2", plugin.getLabel(), "IBM Tooling Platform Core Tests");
-	assertEquals("0.3", plugin.getProviderName(), "IBM");
-	assertEquals("0.4", plugin.getVersionIdentifier(), new PluginVersionIdentifier("1.2"));
-	assertTrue("0.6", !plugin.isPluginActivated());
-	assertEquals("0.7", plugin.getInstallURL().toExternalForm(), "eclipse:/plugin/com.ibm.eclipse.core.tests.plugins.parser.1/");
-
-	// check prereqs
-	IPluginPrerequisite[] prereq = plugin.getPluginPrerequisites();
-	assertEquals("1.0", prereq.length, 2);
-
-	assertEquals("1.1.0", prereq[0].getUniqueIdentifier(), pid[0]);
-	assertEquals("1.1.1", prereq[0].getVersionIdentifier(), new PluginVersionIdentifier("3.7"));
-	assertTrue("1.1.2", prereq[0].isExported());
-	assertTrue("1.1.3", !prereq[0].isMatchedAsCompatible());
-	assertTrue("1.1.4", prereq[0].isMatchedAsExact());
-
-	assertEquals("1.2.0", prereq[1].getUniqueIdentifier(), pid[1]);
-	assertNull("1.2.1", prereq[1].getVersionIdentifier());
-	assertTrue("1.2.2", !prereq[1].isExported());
-	assertTrue("1.2.3", prereq[1].isMatchedAsCompatible());
-	assertTrue("1.2.4", !prereq[1].isMatchedAsExact());
-
-	// check runtime libs
-	ILibrary[] lib = plugin.getRuntimeLibraries();
-	assertTrue("2.0", lib.length == 3);
-
-	assertNull("2.1.0", lib[0].getContentFilters());
-	assertEquals("2.1.1", lib[0].getPath().toString(), "lib1.jar");
-	assertTrue("2.1.2", !lib[0].isExported());
-	assertTrue("2.1.3", !lib[0].isFullyExported());
-
-	assertNull("2.2.0", lib[1].getContentFilters()); // fully exported => no filter
-	assertEquals("2.2.1", lib[1].getPath().toString(), "lib2.jar");
-	assertTrue("2.2.2", lib[1].isExported());
-	assertTrue("2.2.3", lib[1].isFullyExported());
-
-	assertNotNull("2.3.0", lib[2].getContentFilters());
-	assertEquals("2.3.0.1", lib[2].getContentFilters().length, 1);
-	assertEquals("2.3.1", lib[2].getPath().toString(), "lib3.jar");
-	assertTrue("2.3.2", lib[2].isExported());
-	assertTrue("2.3.3", !lib[2].isFullyExported());
-
-	// check declared extension points
-	IExtensionPoint[] xpt;
-	xpt = plugin.getExtensionPoints();
-	assertEquals("3.0", xpt.length, 2);
-
-	assertEquals("3.1.0", xpt[0].getDeclaringPluginDescriptor(), plugin);
-	assertEquals("3.1.1", xpt[0].getUniqueIdentifier(), id + ".xpt1");
-	assertEquals("3.1.2", xpt[0].getSimpleIdentifier(), "xpt1");
-	assertEquals("3.1.3", xpt[0].getLabel(), "First extension point");
-
-	assertEquals("3.2.0", xpt[1].getDeclaringPluginDescriptor(), plugin);
-	assertEquals("3.2.1", xpt[1].getUniqueIdentifier(), id + ".xpt2");
-	assertEquals("3.2.2", xpt[1].getSimpleIdentifier(), "xpt2");
-	assertEquals("3.2.3", xpt[1].getLabel(), "");
-
-	// check declared extensions
-	IExtension[] ext;
-	ext = plugin.getExtensions();
-	assertTrue("4.0", ext.length == 2);
-
-	assertEquals("4.1.0", ext[0].getDeclaringPluginDescriptor(), plugin);
-	assertEquals("4.1.1", ext[0].getUniqueIdentifier(), id + ".ext1");
-	assertEquals("4.1.2", ext[0].getSimpleIdentifier(), "ext1");
-	assertEquals("4.1.3", ext[0].getLabel(), "First extension");
-	assertEquals("4.1.4", ext[0].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
-	assertEquals("4.2.0", ext[1].getDeclaringPluginDescriptor(), plugin);
-	assertNull("4.2.1", ext[1].getUniqueIdentifier());
-	assertNull("4.2.2", ext[1].getSimpleIdentifier());
-	assertEquals("4.2.3", ext[1].getLabel(), "");
-	assertEquals("4.2.4", ext[1].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
-	// check configured extensions (via extension point)
-	IExtensionPoint xpt1 = registry.getExtensionPoint(id + ".xpt1");
-	assertNotNull("5.0", xpt1);
-	ext = xpt1.getExtensions();
-	assertEquals("5.0.1", ext.length, 2);
-
-	assertEquals("5.1.0", ext[0].getDeclaringPluginDescriptor(), plugin);
-	assertEquals("5.1.1", ext[0].getUniqueIdentifier(), id + ".ext1");
-	assertEquals("5.1.2", ext[0].getSimpleIdentifier(), "ext1");
-	assertEquals("5.1.3", ext[0].getLabel(), "First extension");
-	assertEquals("5.1.4", ext[0].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
-	assertEquals("5.2.0", ext[1].getDeclaringPluginDescriptor(), plugin);
-	assertNull("5.2.1", ext[1].getUniqueIdentifier());
-	assertNull("5.2.2", ext[1].getSimpleIdentifier());
-	assertEquals("5.2.3", ext[1].getLabel(), "");
-	assertEquals("5.2.4", ext[1].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
-	// check configured extension (directly)
-	IExtension ext1 = registry.getExtension(id, "xpt1", id + ".ext1");
-	assertNotNull("6.0", ext1);
-
-	assertEquals("6.1.0", ext1.getDeclaringPluginDescriptor(), plugin);
-	assertEquals("6.1.1", ext1.getUniqueIdentifier(), id + ".ext1");
-	assertEquals("6.1.2", ext1.getSimpleIdentifier(), "ext1");
-	assertEquals("6.1.3", ext1.getLabel(), "First extension");
-	assertEquals("6.1.4", ext1.getExtensionPointUniqueIdentifier(), id + ".xpt1");
-}
-/* doParsing
- * This method will parse a series of XML files.  The input array should be
- * an array of string buffers where each string buffer is considered a complete 
- * XML file.  The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath) {
-	PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
-	registry.resolve(true, true);
-	registry.markReadOnly();
-	registry.startup(null);
-	return registry;
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new ApiTest("baseTest"));
-	suite.addTest(new ApiTest("versionIdTest"));
-	return suite;
-}
-public void versionIdTest() {
-
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	InternalFactory factory = new InternalFactory(problems);
-	URL URLList[] = new URL[1];
-	try {
-		URLList[0] = new URL("vaLoader:/N:/Eclipse TOR Core Test/0.042b/project_resources/IBM Eclipse Core Tests Plugin/plugins-test-files/plugins.parser.1/");
-	} catch (java.net.MalformedURLException mfe) {
-	}
-	IPluginRegistry registry = doParsing(factory, URLList);
-
-	PluginVersionIdentifier v1;
-	PluginVersionIdentifier v2;
-
-	v1 = null;
-	try {
-		v1 = new PluginVersionIdentifier("1");
-	} catch (Throwable e) {
-		Assert.fail("1.1.0 " + e);
-	}
-	assertTrue("1.1.1", v1 != null);
-	assertTrue("1.1.2", v1.getMajorComponent() == 1);
-	assertTrue("1.1.3", v1.getMinorComponent() == 0);
-	assertTrue("1.1.4", v1.getServiceComponent() == 0);
-	assertTrue("1.1.5", v1.equals(new PluginVersionIdentifier(v1.toString())));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.0");
-	} catch (Throwable e) {
-		Assert.fail("1.2.0 " + e);
-	}
-	assertTrue("1.2.1", v2 != null);
-	assertTrue("1.2.2", v2.getMajorComponent() == 1);
-	assertTrue("1.2.3", v2.getMinorComponent() == 0);
-	assertTrue("1.2.4", v2.getServiceComponent() == 0);
-	assertTrue("1.2.5", v2.equals(new PluginVersionIdentifier(v2.toString())));
-	assertTrue("1.2.6", v2.equals(v1));
-	assertTrue("1.2.7", v2.isCompatibleWith(v1));
-	assertTrue("1.2.8", v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.0.0");
-	} catch (Throwable e) {
-		Assert.fail("1.3.0 " + e);
-	}
-	assertTrue("1.3.1", v2 != null);
-	assertTrue("1.3.2", v2.getMajorComponent() == 1);
-	assertTrue("1.3.3", v2.getMinorComponent() == 0);
-	assertTrue("1.3.4", v2.getServiceComponent() == 0);
-	assertTrue("1.3.5", v2.equals(new PluginVersionIdentifier(v2.toString())));
-	assertTrue("1.3.6", v2.equals(v1));
-	assertTrue("1.3.7", v2.isCompatibleWith(v1));
-	assertTrue("1.3.8", v2.isEquivalentTo(v1));
-
-	v1 = null;
-	v2 = null;
-	try {
-		v1 = new PluginVersionIdentifier("1.2.3");
-	} catch (Throwable e) {
-		Assert.fail("1.4.0 " + e);
-	}
-	try {
-		v2 = new PluginVersionIdentifier("1.2.3");
-	} catch (Throwable e) {
-		Assert.fail("1.4.1 " + e);
-	}
-	assertTrue("1.4.2", v2.equals(v1));
-	assertTrue("1.4.3", v2.isCompatibleWith(v1));
-	assertTrue("1.4.4", v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.2.4");
-	} catch (Throwable e) {
-		Assert.fail("1.5.1 " + e);
-	}
-	assertTrue("1.5.2", !v2.equals(v1));
-	assertTrue("1.5.3", v2.isCompatibleWith(v1));
-	assertTrue("1.5.4", v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.2.2");
-	} catch (Throwable e) {
-		Assert.fail("1.6.1 " + e);
-	}
-	assertTrue("1.6.2", !v2.equals(v1));
-	assertTrue("1.6.3", !v2.isCompatibleWith(v1));
-	assertTrue("1.6.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.3.3");
-	} catch (Throwable e) {
-		Assert.fail("1.7.1 " + e);
-	}
-	assertTrue("1.7.2", !v2.equals(v1));
-	assertTrue("1.7.3", v2.isCompatibleWith(v1));
-	assertTrue("1.7.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.3.4");
-	} catch (Throwable e) {
-		Assert.fail("1.8.1 " + e);
-	}
-	assertTrue("1.8.2", !v2.equals(v1));
-	assertTrue("1.8.3", v2.isCompatibleWith(v1));
-	assertTrue("1.8.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("1.3.2");
-	} catch (Throwable e) {
-		Assert.fail("1.9.1 " + e);
-	}
-	assertTrue("1.9.2", !v2.equals(v1));
-	assertTrue("1.9.3", v2.isCompatibleWith(v1));
-	assertTrue("1.9.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("2.2.3");
-	} catch (Throwable e) {
-		Assert.fail("1.10.1 " + e);
-	}
-	assertTrue("1.10.2", !v2.equals(v1));
-	assertTrue("1.10.3", !v2.isCompatibleWith(v1));
-	assertTrue("1.10.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("2.2.4");
-	} catch (Throwable e) {
-		Assert.fail("1.11.1 " + e);
-	}
-	assertTrue("1.11.2", !v2.equals(v1));
-	assertTrue("1.11.3", !v2.isCompatibleWith(v1));
-	assertTrue("1.11.4", !v2.isEquivalentTo(v1));
-
-	v2 = null;
-	try {
-		v2 = new PluginVersionIdentifier("2.2.2");
-	} catch (Throwable e) {
-		Assert.fail("1.12.1 " + e);
-	}
-	assertTrue("1.12.2", !v2.equals(v1));
-	assertTrue("1.12.3", !v2.isCompatibleWith(v1));
-	assertTrue("1.12.4", !v2.isEquivalentTo(v1));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
deleted file mode 100644
index d947708..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndPluginLocalAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndPluginLocalAndPrimaryFeatureTest() {
-	super(null);
-}
-public CmdLineAndPluginLocalAndPrimaryFeatureTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndPluginLocalAndPrimaryFeature() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Preferences in the file specified by -pluginCustomization
-	// command line parameter and in the plugin state area
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPluginLocalAndPrimaryFeature");
-	Preferences prefs = null;
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destName);
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Four default preferences", defaultNames.length == 4);
-	assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-	// Do we have the right names for the default preferences?
-	boolean foundCommandLinePreference = false;
-	boolean foundPluginLocalPreference = false;
-	boolean foundPrimaryFeaturePreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCmdLineAndPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("1.2 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("1.3 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.4 commonCmdLineAndPluginLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonCmdLineAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the command line via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.5 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.6 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
deleted file mode 100644
index 081624f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndPluginLocalTest extends WorkspaceSessionTest {
-
-public CmdLineAndPluginLocalTest() {
-	super(null);
-}
-public CmdLineAndPluginLocalTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndPluginLocal() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Preferences in the file specified by -pluginCustomization
-	// command line parameter and in the plugin state area
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPluginLocal");
-	Preferences prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-	// Do we have the right names for the default preferences?
-	boolean foundPluginLocalPreference = false;
-	boolean foundCommonPreference = false;
-	boolean foundCommandLinePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCmdLineAndPluginLocalPreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-	}
-	assertTrue("1.2 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference);
-	// Check preference values
-	assertTrue("1.3 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndPluginLocal"));
-	assertTrue("1.4 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPluginLocal"));
-	assertTrue("1.5 commonCmdLineAndPluginLocalPreference value",
-		prefs.getString("commonCmdLineAndPluginLocalPreference").equals("Common preference from the command line via the plugin cmdLineAndPluginLocal"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
deleted file mode 100644
index 70e6feb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndPrimaryFeatureTest() {
-	super(null);
-}
-public CmdLineAndPrimaryFeatureTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndPrimaryFeature() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Preferences in the file specified by -pluginCustomization
-	// command line parameter and in the plugin state area
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPrimaryFeature");
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destName);
-	Preferences prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-	// Do we have the right names for the default preferences?
-	boolean foundPrimaryFeaturePreference = false;
-	boolean foundCommonPreference = false;
-	boolean foundCommandLinePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCmdLineAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("1.2 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("1.3 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndPrimaryFeature"));
-	assertTrue("1.4 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPrimaryFeature"));
-	assertTrue("1.4 commonCmdLineAndPrimaryFeaturePreference value",
-		prefs.getString("commonCmdLineAndPrimaryFeaturePreference").equals("Common preference from the command line via the plugin cmdLineAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
deleted file mode 100644
index b834709..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest() {
-	super(null);
-}
-public CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndStateAndPluginLocalAndPrimaryFeature() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPluginLocalAndPrimaryFeature");
-	Preferences prefs = null;
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destString);
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destName);
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Four default preferences", defaultNames.length == 4);
-	assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the default preferences?
-	boolean foundStatePreference = false;
-	boolean foundCommandLinePreference = false;
-	boolean foundPluginLocalPreference = false;
-	boolean foundPrimaryFeaturePreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("1.2 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference && foundPrimaryFeaturePreference);
-	// Do we have the right names for the explicit preferences?
-	foundStatePreference = false;
-	foundCommandLinePreference = false;
-	foundPluginLocalPreference = false;
-	foundPrimaryFeaturePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStatePreference = true;
-		else if (prefNames[i].equals("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("1.3 Got right explicit preference names",
-		foundStatePreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("1.4 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.5 commonCmdLineAndPluginLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.6 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.7 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("1.8 StatePreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
deleted file mode 100644
index 37afeaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndStateAndPluginLocalTest extends WorkspaceSessionTest {
-
-public CmdLineAndStateAndPluginLocalTest() {
-	super(null);
-}
-public CmdLineAndStateAndPluginLocalTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndStateAndPluginLocal() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Preferences in the file specified by -pluginCustomization
-	// command line parameter and in the plugin state area
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPluginLocal");
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destString);
-	Preferences prefs = runtimePlugin.getPluginPreferences();
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	boolean foundStateLocalPreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonCommandLineAndStateAndPluginLocalPreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("1.2 Got right explicit preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	boolean foundCommandLinePreference = false;
-	boolean foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCommandLineAndStateAndPluginLocalPreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-	}
-	assertTrue("1.3 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference);
-	// Check preference values
-	assertTrue("1.4 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPluginLocal"));
-	assertTrue("1.5 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPluginLocal"));
-	assertTrue("1.6 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndStateAndPluginLocal"));
-	assertTrue("1.7 commonCommandLineAndStateAndPluginLocalPreference value",
-		prefs.getString("commonCommandLineAndStateAndPluginLocalPreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocal"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
deleted file mode 100644
index 170e7b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndStateAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndStateAndPrimaryFeatureTest() {
-	super(null);
-}
-public CmdLineAndStateAndPrimaryFeatureTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndStateAndPrimaryFeature() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPrimaryFeature");
-	Preferences prefs = null;
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destString);
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destName);
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the default preferences?
-	boolean foundStatePreference = false;
-	boolean foundCommandLinePreference = false;
-	boolean foundPrimaryFeaturePreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCmdLineAndStateAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("1.2 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Do we have the right names for the explicit preferences?
-	foundStatePreference = false;
-	foundCommandLinePreference = false;
-	foundPrimaryFeaturePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStatePreference = true;
-		else if (prefNames[i].equals("commonCmdLineAndStateAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("1.3 Got right explicit preference names",
-		foundStatePreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("1.4 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPrimaryFeature"));
-	assertTrue("1.5 commonCmdLineAndPrimaryFeaturePreference value",
-		prefs.getString("commonCmdLineAndStateAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPrimaryFeature"));
-	assertTrue("1.6 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndStateAndPrimaryFeature"));
-	assertTrue("1.7 StatePreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
deleted file mode 100644
index c8da937..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndStateTest extends WorkspaceSessionTest {
-
-public CmdLineAndStateTest() {
-	super(null);
-}
-public CmdLineAndStateTest(String name) {
-	super(name);
-}
-
-public void testCmdLineAndState() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Preferences in the file specified by -pluginCustomization
-	// command line parameter and in the plugin state area
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndState");
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	PreferencesRuntimeTests.copyFile(sourceName, destString);
-	Preferences prefs = runtimePlugin.getPluginPreferences();
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 Two default preferences", defaultNames.length == 2);
-	assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	boolean foundStateLocalPreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonCommandLineAndStatePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("1.2 Got right explicit preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	boolean foundCommandLinePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("CommandLinePreference"))
-			foundCommandLinePreference = true;
-		else if (defaultNames[i].equals("commonCommandLineAndStatePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("1.3 Got right default preference names",
-		foundCommandLinePreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("1.4 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndState"));
-	assertTrue("1.5 CommandLinePreference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndState"));
-	assertTrue("1.6 commonCommandLineAndStatePreference value",
-		prefs.getString("commonCommandLineAndStatePreference").equals("Common preference from the plugin state area of plugin cmdLineAndState"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
deleted file mode 100644
index c43c7b8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLinePreferencesTest extends WorkspaceSessionTest {
-public CmdLinePreferencesTest() {
-	super(null);
-}
-public CmdLinePreferencesTest(String name) {
-	super(name);
-}
-
-public void testCmdLinePrefsOnly() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// Check the case where the -pluginCustomization command line
-	// parameter has been used.
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("commandLinePluginPreferences");
-	Preferences prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	
-	assertTrue("1.1 One default preference", defaultNames.length == 1);
-	assertTrue("1.2 No explicit preferences", prefNames.length == 0);
-	assertTrue("1.3 Preference name", defaultNames[0].equals("CommandLinePreference"));
-	assertTrue("1.4 Preference value",
-		prefs.getString("CommandLinePreference").equals("From the command line specified file"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
deleted file mode 100644
index 9543642..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class LibraryLookupTests extends WorkspaceSessionTest {
-public LibraryLookupTests() {
-	super(null);
-}
-public LibraryLookupTests(String name) {
-	super(name);
-}
-
-public void resourceHelper(IPluginRegistry registry, String pluginName, String errorPrefix, String newKey) {
-	IPluginDescriptor plugin = registry.getPluginDescriptor(pluginName);
-	assertNotNull(errorPrefix + ".0.resource", plugin);
-	// check initial activation state
-	assertTrue(errorPrefix + ".1.resource", !plugin.isPluginActivated());
-	// Now try to get a resource string from this plugin.
-	// This should not cause the plugin to be activated.
-	String str = plugin.getResourceString("%key");
-	assertTrue(errorPrefix + ".2.resource", !plugin.isPluginActivated());
-	assertNotNull(errorPrefix + ".3.resource", str);
-	assertTrue(errorPrefix + ".4.resource", str.equals(newKey));
-}
-
-public void testResources() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// PluginA has one plugin.properties file:
-	// 	<pluginRootDirectory>/plugin.properties
-	// This should be found and the "%key" translated to
-	// "Test string from pluginA root directory".
-	resourceHelper(registry, "plugina", "A", "Test string from pluginA root directory");
-
-
-	// PluginB has one plugin.properties file:
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// This should be found and the "%key" translated to 
-	// "Test string from pluginB bin directory".
-	resourceHelper(registry, "pluginb", "B", "Test string from pluginB bin directory");
-
-	// PluginC has two plugin.properties files:
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// The one in the bin directory should be found first and %key
-	// translated to
-	// "Test string from pluginC bin directory".
-
-	// DDW - We would like to find the bin version first but
-	// there is code in PluginDescriptor.ResourceBundle getResourceBundle(Locale)
-	// which deliberately puts the plugin root directory at the head
-	// of the classpath?!! FIXME
-//	resourceHelper(registry, "pluginc", "C", "Test string from pluginC bin directory");
-
-	// PluginD has one plugin.properties file:
-	// 	<fragmentRootDirectory>/plugin.properties
-	// This should be found and the "%key" translated to 
-	// "Test string from pluginD fragment root directory".
-	
-	// DDW FIXME
-//	resourceHelper(registry, "plugind", "D", "Test string from pluginD fragment root directory");
-
-	// PluginE has one plugin.properties file
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// This should be found and the "%key" translated to 
-	// "Test string from pluginE fragment bin directory".
-	resourceHelper(registry, "plugine", "E", "Test string from pluginE fragment bin directory");
-
-	// PluginF has two plugin.properties files
-	// 	<fragmentRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the bin directory should be found first and %key
-	// translated to
-	// "Test string from pluginF fragment bin directory".
-	resourceHelper(registry, "pluginf", "F", "Test string from pluginF fragment bin directory");
-
-	// PluginG has two plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// The one in the root directory should be found first and %key
-	// translated to
-	// "Test string from pluginG root directory".
-	resourceHelper(registry, "pluging", "G", "Test string from pluginG root directory");
-
-	// PluginH has two plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the root directory should be found first and %key
-	// translated to
-	// "Test string from pluginH root directory".
-	resourceHelper(registry, "pluginh", "H", "Test string from pluginH root directory");
-
-	// PluginI has two plugin.properties files
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// The one in the plugin bin directory should be found first and %key
-	// translated to
-	// "Test string from pluginI bin directory".
-	resourceHelper(registry, "plugini", "I", "Test string from pluginI bin directory");
-
-	// PluginJ has two plugin.properties files
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the plugin bin directory should be found first and %key
-	// translated to
-	// "Test string from pluginJ bin directory".
-	resourceHelper(registry, "pluginj", "J", "Test string from pluginJ bin directory");
-
-	// PluginK has three plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// The one in the plugin root directory should be found first and %key
-	// translated to
-	// "Test string from pluginK root directory".
-	resourceHelper(registry, "plugink", "K", "Test string from pluginK root directory");
-
-	// PluginL has three plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the plugin root directory should be found first and %key
-	// translated to
-	// "Test string from pluginL root directory".
-	resourceHelper(registry, "pluginl", "L", "Test string from pluginL root directory");
-
-	// PluginM has three plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the plugin root directory should be found first and %key
-	// translated to
-	// "Test string from pluginM root directory".
-	resourceHelper(registry, "pluginm", "M", "Test string from pluginM root directory");
-
-	// PluginN has three plugin.properties files
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the plugin bin directory should be found first and %key
-	// translated to
-	// "Test string from pluginN bin directory".
-	resourceHelper(registry, "pluginn", "N", "Test string from pluginN bin directory");
-
-	// PluginH has four plugin.properties files
-	// 	<pluginRootDirectory>/plugin.properties
-	// 	<pluginRootDirectory>/bin/plugin.properties
-	// 	<fragmentRootDirectory>/plugin.properties
-	// 	<fragmentRootDirectory>/bin/plugin.properties
-	// The one in the plugin root directory should be found first and %key
-	// translated to
-	// "Test string from pluginO root directory".
-	resourceHelper(registry, "plugino", "O", "Test string from pluginO root directory");
-}
-
-public IPluginDescriptor codeHelper(IPluginRegistry registry, String pluginName, String errorPrefix, String className) {
-	IPluginDescriptor plugin = registry.getPluginDescriptor(pluginName);
-	assertNotNull(errorPrefix + ".0.code", plugin);
-	// check initial activation state
-	assertTrue(errorPrefix + ".1.code", !plugin.isPluginActivated());
-	// Now try to access the plugin class.  This should cause
-	// the plugin to be activated.
-	Plugin active = null;
-	try {
-		active = plugin.getPlugin();
-	} catch (CoreException ce) {
-		fail(errorPrefix + ".2.code Core exception encountered.",ce);
-	}
-	assertTrue (errorPrefix + ".3.code", active.getClass().getName().equals(className));
-	assertTrue(errorPrefix + ".4.code", plugin.isPluginActivated());
-	return plugin;
-}
-
-public void testCode() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
-	String classNamePrefix = "org.eclipse.core.tests.internal.runtimetests.";
-	// codePluginA has one jar file
-	//	<pluginRootDirectory>/codePluginA.jar (with class SampleA).
-	codeHelper(registry, "codePluginA", "A", classNamePrefix + "SampleA");
-
-	// codePluginB has one jar file
-	//	<pluginRootDirectory>/bin/codePluginB.jar (with class SampleB).
-	codeHelper(registry, "codePluginB", "B", classNamePrefix + "SampleB");
-
-	// codePluginC has two jar files
-	//	<pluginRootDirectory>/codePluginC.jar (with class SampleCPR)
-	//	<pluginRootDirectory>/bin/codePluginC.jar (with class SampleCPB).
-	codeHelper(registry, "codePluginC", "C", classNamePrefix + "SampleCPB");
-
-	// codePluginD has one jar file
-	//	<fragmentRootDirectory>/codePluginD.jar (with class SampleD).
-	codeHelper(registry, "codePluginD", "D", classNamePrefix + "SampleD");
-
-	// codePluginE has one jar file
-	//	<fragmentRootDirectory>/bin/codePluginE.jar (with class SampleE).
-	codeHelper(registry, "codePluginE", "E", classNamePrefix + "SampleE");
-
-	// codePluginF has two jar files
-	//	<fragmentRootDirectory>/codePluginF.jar (with class SampleFFR)
-	//	<fragmentRootDirectory>/bin/codePluginF.jar (with class SampleFFB).
-	codeHelper(registry, "codePluginF", "F", classNamePrefix + "SampleFFB");
-
-	// codePluginG has two jar files
-	//	<pluginRootDirectory>/codePluginG.jar (with class SampleGPR)
-	//	<fragmentRootDirectory>/codePluginG.jar (with class SampleGFR).
-	codeHelper(registry, "codePluginG", "G", classNamePrefix + "SampleGPR");
-
-	// codePluginH has two jar files
-	//	<pluginRootDirectory>/codePluginH.jar (with class SampleGHPR)
-	//	<fragmentRootDirectory>/bin/codePluginH.jar (with class SampleHFB).
-	codeHelper(registry, "codePluginH", "H", classNamePrefix + "SampleHFB");
-
-	// codePluginI has two jar files
-	//	<pluginRootDirectory>/bin/codePluginI.jar (with class SampleIPB)
-	//	<fragmentRootDirectory>/codePluginI.jar (with class SampleIFR).
-	codeHelper(registry, "codePluginI", "I", classNamePrefix + "SampleIPB");
-
-	// codePluginJ has two jar files
-	//	<pluginRootDirectory>/bin/codePluginJ.jar (with class SampleJPB)
-	//	<fragmentRootDirectory>/bin/codePluginJ.jar (with class SampleJFB).
-	codeHelper(registry, "codePluginJ", "J", classNamePrefix + "SampleJPB");
-
-	// codePluginK has three jar files
-	//	<pluginRootDirectory>/codePluginK.jar (with class SampleKPR)
-	//	<pluginRootDirectory>/bin/codePluginK.jar (with class SampleKPB)
-	//	<fragmentRootDirectory>/codePluginK.jar (with class SampleKFR).
-	codeHelper(registry, "codePluginK", "K", classNamePrefix + "SampleKPB");
-
-	// codePluginL has three jar files
-	//	<pluginRootDirectory>/codePluginL.jar (with class SampleLPR)
-	//	<pluginRootDirectory>/bin/codePluginL.jar (with class SampleLPB)
-	//	<fragmentRootDirectory>/bin/codePluginL.jar (with class SampleLFB).
-	codeHelper(registry, "codePluginL", "L", classNamePrefix + "SampleLPB");
-
-	// codePluginM has three jar files
-	//	<pluginRootDirectory>/codePluginM.jar (with class SampleMPR)
-	//	<fragmentRootDirectory>/codePluginM.jar (with class SampleMFR).
-	//	<fragmentRootDirectory>/bin/codePluginM.jar (with class SampleMFB).
-	codeHelper(registry, "codePluginM", "M", classNamePrefix + "SampleMFB");
-
-	// codePluginN has three jar files
-	//	<pluginRootDirectory>/bin/codePluginN.jar (with class SampleNPB)
-	//	<fragmentRootDirectory>/codePluginN.jar (with class SampleNFR).
-	//	<fragmentRootDirectory>/bin/codePluginN.jar (with class SampleNFB).
-	codeHelper(registry, "codePluginN", "N", classNamePrefix + "SampleNPB");
-
-	// codePluginO has four jar files
-	//	<pluginRootDirectory>/codePluginO.jar (with class SampleOPR)
-	//	<pluginRootDirectory>/bin/codePluginO.jar (with class SampleOPB)
-	//	<fragmentRootDirectory>/codePluginO.jar (with class SampleOFR).
-	//	<fragmentRootDirectory>/bin/codePluginO.jar (with class SampleOFB).
-	codeHelper(registry, "codePluginO", "O", classNamePrefix + "SampleOPB");
-}
-
-public static void copyFile (String sourceName, String destName) {
-	// A crude mechanism for creating a preference file
-	SafeFileInputStream sourceIn = null;
-	SafeFileOutputStream destOut = null;
-	try {
-		sourceIn = new SafeFileInputStream(sourceName);
-		destOut = new SafeFileOutputStream(destName);
-		int buffer = sourceIn.read();
-		while (buffer != -1) {
-			destOut.write(buffer);
-			buffer = sourceIn.read();
-		}
-	} catch (IOException ioe) {
-		fail("0.0 Trouble creating file " + destName + " from original file " + sourceName + ".");
-	} finally {
-		try {
-			sourceIn.close();
-			destOut.close();
-		} catch (IOException e) {
-			fail("0.1 Trouble closing file " + destName + " or " + sourceName + ".");
-		}
-	}
-}
-
-private void deleteDirectory (File directory) {
-	String[] files = directory.list();
-	if (files == null) {
-		directory.delete();
-		return;
-	}
-	for (int i = 0; i < files.length; i++) {
-		File newFile = new File(directory, files[i]);
-		if (newFile.isFile())
-			newFile.delete();
-		else if (newFile.isDirectory())
-			deleteDirectory(newFile);
-	}
-	directory.delete();
-}
-
-public void test3093 () {
-	/* A plugin/fragment entry like 
-	 * 		library name="$nl$/"
-	 * should result in a file: url added on the classpath.
-	 * The bug indicated that a jar: url was being added.
-	 */
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	IPluginDescriptor plugin = registry.getPluginDescriptor("test3093PluginA");
-	assertNotNull("1.0", plugin);
-	// build the right nl related directory and put the jar file there.
-	String nl = InternalBootLoader.getNL();
-	nl = nl.replace('_', '/');
-	URL pluginRoot = plugin.find(new Path("./"));
-	String fullNLDirectory = pluginRoot.getFile() + "nl/" + nl;
-	File file = new File(fullNLDirectory);
-	try {
-		file.mkdirs();
-		// Now copy the jar file to the right spot
-		String jarSource = null;
-		String jarDest = null;
-		try {
-			jarSource = new URL(pluginRoot, "../../").getFile() + "codePluginA.jar";
-			jarDest = new URL(new URL(pluginRoot, "nl/" + nl + "/"), "codePluginA.jar").getFile();
-		} catch (MalformedURLException badURL) {
-			// just ignore the exception
-		}
-		copyFile(jarSource, jarDest);
-		// Activate this plugin
-		try {
-			plugin.getPlugin();
-		} catch (CoreException ce) {
-			fail("1.1 Core exception encountered.",ce);
-		}
-		URL[] cp = ((URLClassLoader)plugin.getPluginClassLoader()).getURLs();
-		assertTrue("1.2 One URL on class path", cp.length == 1);
-		// Make sure we have the right protocol (not jar: but file:)
-		assertEquals("1.3 Right protocol", cp[0].getProtocol(), "file");
-		// Make sure we really picked up the right directory.
-		assertEquals("1.4 Contains nl directory", fullNLDirectory + "/", cp[0].getFile());
-	} finally {	
-		// cleanup
-		try {
-			URL deleteURL = new URL(pluginRoot, "nl");
-			deleteDirectory(new File(deleteURL.getFile()));
-		} catch (MalformedURLException badURL) {
-			// just ignore the bad URL - means we won't cleanup
-		}
-	}
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
deleted file mode 100644
index d0bee91..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
+++ /dev/null
@@ -1,1300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class PluginFindTests extends WorkspaceSessionTest {
-	
-	// Set this to true if you want to make sure that this test
-	// is really testing all the combinations of directories.
-	private boolean verifyCheckingAllCombos = false;
-
-public PluginFindTests() {
-	super(null);
-}
-
-public PluginFindTests(String name) {
-	super(name);
-}
-
-private void findHelper(String pluginId, String fragmentId, String errorPrefix, String filePrefix, String pluginSubDir, Map override) {
-	// Look for a file called <filePrefix>/<pluginId>.txt
-	// Make sure this doesn't cause the plugin to be activated.
-	// Make sure the data in file looks like:
-	// "Test string from " + pluginId + " plugin " + pluginSubDir + " directory."
-	// Make sure the file was found in
-	//     <workspaceRoot>/Plugintests_Testing/FindTests/plugins/<pluginId>/<pluginSubDir>/<pluginId>.txt
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
-	// Now make sure we can find the file
-	IPath path = null;
-	String whichId = pluginId;
-	if (fragmentId != null)
-		whichId = fragmentId;
-	path = new Path(filePrefix + "/" + whichId + ".txt");
-	URL result = null;
-	if (override == null)
-		result = plugin.find(path);
-	else
-		result = plugin.find(path, override);
-	assertTrue(errorPrefix + ".1 Plugin should not be activated", !plugin.isPluginActivated());
-	assertNotNull(errorPrefix + ".2 Can't find text file, " + path.toString(), result);
-	// Make sure this is the right URL
-	String stringResult = result.getFile();
-	if (pluginSubDir != null) {
-		assertTrue(errorPrefix + ".3 Wrong url - " + stringResult,
-			stringResult.endsWith("Plugintests_Testing/FindTests/plugins/" + whichId + "/" + pluginSubDir + "/" + whichId + ".txt"));
-	} else {
-		assertTrue(errorPrefix + ".3 Wrong url - " + stringResult,
-			stringResult.endsWith("Plugintests_Testing/FindTests/plugins/" + whichId + "/" + whichId + ".txt"));
-	}
-	// And finally, read the file and make sure it is the right one.
-	InputStream in = null;
-	byte[] buffer = null;
-	try {
-		in = result.openStream();
-		buffer = new byte[in.available()];
-		in.read(buffer);
-		in.close();
-	} catch (IOException ioe) {
-		fail(errorPrefix + ".4 IOException reading " + stringResult);
-	}
-	String dataString = (new String(buffer)).trim();
-
-	if (fragmentId == null)
-		assertEquals(errorPrefix + ".5 Data string incorrect", "Test string from " + whichId + " plugin " + pluginSubDir + " directory.", dataString);
-	else
-		assertEquals(errorPrefix + ".5 Data string incorrect", "Test string from " + whichId + " fragment " + pluginSubDir + " directory.", dataString);
-}
-
-private void findFailsHelper(String pluginId, String fragmentId, String errorPrefix, String filePrefix, Map override) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
-	String whichId = pluginId;
-	if (fragmentId != null)
-		whichId = fragmentId;
-	// Now make sure we can't find the file
-	IPath path = new Path(filePrefix + "/" + whichId + ".txt");
-	URL result = null;
-	if (override == null)
-		result = plugin.find(path);
-	else
-		result = plugin.find(path, override);
-	assertNull(errorPrefix + ".1 Found text file, " + path.toString(), result);
-}
-
-private boolean buildPluginTestFile(String pluginId, String pluginSubDir) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
-	URL pluginRoot = plugin.find(new Path("./"));
-	File file = null;
-	if (pluginSubDir != null) {
-		file = new File(pluginRoot.getFile() + pluginSubDir);
-		file.mkdirs();
-	} else 
-		file = new File(pluginRoot.getFile());
-	// Now build up the file
-	File testFile = new File(file, pluginId + ".txt");
-	try {
-		FileOutputStream fs = new FileOutputStream(testFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			w.println("Test string from " + pluginId + " plugin " + pluginSubDir + " directory.");
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to test file " + testFile.getPath());
-		return false;
-	}
-	return true;
-}
-
-private boolean buildFragmentTestFile(String pluginId, String fragmentId, String pluginSubDir) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
-	PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
-	// Should only be one fragment
-	assertEquals("0.2 Fragment mismatch", fragmentId, fragments[0].getId());
-	URL fragmentRoot = null;
-	try {
-		fragmentRoot = new URL(fragments[0].getLocation());
-	} catch (MalformedURLException badURL) {
-		return false;
-	}
-	File file = null;
-	if (pluginSubDir != null) {
-		file = new File(fragmentRoot.getFile() + pluginSubDir);
-		file.mkdirs();
-	} else 
-		file = new File(fragmentRoot.getFile());
-	// Now build up the file
-	File testFile = new File(file, fragmentId + ".txt");
-	try {
-		FileOutputStream fs = new FileOutputStream(testFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			w.println("Test string from " + fragmentId + " fragment " + pluginSubDir + " directory.");
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to test file " + testFile.getPath());
-		return false;
-	}
-	return true;
-}
-
-private String buildNLTestFile(String pluginId, String fragmentId, int chopSegment, String fullNL) {
-	// Build up nl related directories and test files
-	String nl = fullNL;
-	nl = nl.replace('_', '/');
-	// Chop off the number of segments stated
-	int i = chopSegment;
-	while (nl.length() > 0 && i > 0) {
-		i--;
-		int idx = nl.lastIndexOf('/');
-		if (idx != -1)
-			nl = nl.substring(0, idx);
-		else 
-			nl = "";
-	}
-	if ((nl.length() == 0) && (i > 0))
-		// We couldn't get rid of all the segments we wanted to
-		return null;
-	if (fragmentId == null) {
-		if (buildPluginTestFile(pluginId, "nl/" + nl))
-			return nl;
-	} else {
-		if (buildFragmentTestFile(pluginId, fragmentId, "nl/" + nl))
-			return nl;
-	}
-	return null;
-}
-/**
- * Build a test file in the OLD nl/en_US form instead of replacing
- * the under-scores with slashes.
- */
-private String buildOldNLTestFile(String pluginId, String fragmentId, int chopSegment, String fullNL) {
-	// Build up nl related directories and test files
-	String nl = fullNL;
-	// Chop off the number of segments stated
-	int i = chopSegment;
-	while (nl.length() > 0 && i > 0) {
-		i--;
-		int idx = nl.lastIndexOf('_');
-		if (idx != -1)
-			nl = nl.substring(0, idx);
-		else 
-			nl = "";
-	}
-	if ((nl.length() == 0) && (i > 0))
-		// We couldn't get rid of all the segments we wanted to
-		return null;
-	if (fragmentId == null) {
-		if (buildPluginTestFile(pluginId, "nl/" + nl))
-			return nl;
-	} else {
-		if (buildFragmentTestFile(pluginId, fragmentId, "nl/" + nl))
-			return nl;
-	}
-	return null;
-}
-
-private String buildOSTestFile(String pluginId, String fragmentId, int chopSegment, String fullOS) {
-	// Build up os related directories and test files
-	String strOS = fullOS;
-	int i = chopSegment;
-	while (strOS.length() > 0 && i > 0) {
-		i--;
-		int idx = strOS.lastIndexOf('/');
-		if (idx != -1)
-			strOS = strOS.substring(0, idx);
-		else 
-			strOS = "";
-	}
-	if ((strOS.length() == 0) && (i > 0))
-		// We couldn't get rid of all the segments we wanted to
-		return null;
-	if (fragmentId == null) {
-		if (buildPluginTestFile(pluginId, "os/" + strOS))
-			return strOS;
-	} else {
-		if (buildFragmentTestFile(pluginId, fragmentId, "os/" + strOS))
-			return strOS;
-	}
-	return null;
-}
-
-private String buildWSTestFile(String pluginId, String fragmentId, int chopSegments, String ws) {
-	// Build up ws related directories and test files
-	String localws = ws;
-	if (chopSegments > 0)
-		localws = "";
-	if (fragmentId == null) {
-		if (buildPluginTestFile(pluginId, "ws/" + localws))
-			return localws;
-	} else {
-		if (buildFragmentTestFile(pluginId, fragmentId, "ws/" + localws))
-			return localws;
-	}
-	return null;
-}
-
-private void deleteDirectory (File directory) {
-	String[] files = directory.list();
-	if (files == null) {
-		directory.delete();
-		return;
-	}
-	for (int i = 0; i < files.length; i++) {
-		File newFile = new File(directory, files[i]);
-		if (newFile.isFile())
-			newFile.delete();
-		else if (newFile.isDirectory())
-			deleteDirectory(newFile);
-	}
-	directory.delete();
-}
-
-private void cleanupTestDirectory (String pluginId, String fragmentId, String testDirectory) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	URL rootDir = null;
-	if (fragmentId == null) {
-		rootDir = plugin.find(new Path("./"));
-	} else {
-		PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
-		if (fragments.length != 1)
-			return;
-		try {
-			rootDir = new URL(fragments[0].getLocation());
-		} catch (MalformedURLException badURL) {
-			return;
-		}
-	}
-	if (rootDir == null)
-		return;
-	String rootString = rootDir.getFile();
-	deleteDirectory(new File(rootString + "/" + testDirectory));
-}
-
-public void testFindNothing () {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.runtime");
-	assertNotNull("1.0 can't find runtime plugin descriptor", plugin);
-	// Just make sure we handle this gracefully
-	URL result = plugin.find(null, null);
-	assertNull("1.1 non-null result from null path and override", result);
-	// And make sure we handle this one too
-	result = plugin.find(null);
-	assertNull("1.2 non-null result from null path", result);
-	// Bug 14224 indicates that for "" or "/" we gave a 
-	// NullPointerException.  The following tests ensure we catch
-	// this.
-	// The result should be the root directory for this plugin
-	String pluginRoot = ((PluginDescriptor)plugin).getInstallURLInternal().getFile();
-	result = plugin.find(new Path(""));
-	assertEquals("1.3 find(new Path(\"\")", pluginRoot, result.getFile());
-	result = plugin.find(new Path("/"));
-	assertEquals("1.4 find(new Path(\"/\")", pluginRoot, result.getFile());
-	result = plugin.find(new Path("./"));
-	assertEquals("1.5 find(new Path(\"./\")", pluginRoot, result.getFile());
-	result = plugin.find(new Path("."));
-	assertEquals("1.6 find(new Path(\".\")", pluginRoot, result.getFile());
-	result = plugin.find(new Path(".."));
-	assertNull("1.7 find(new Path(\"..\")", result);
-}
-
-public void testFindInteresting () {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor("interestingPluginFindTest");
-	assertNotNull("1.0 Can't find plugin, interestingPluginFindTest", plugin);
-	URL pluginRoot = plugin.find(new Path("./"));
-	PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
-	assertEquals("1.1 Only one fragment", 1, fragments.length);
-	assertEquals("1.2 Fragment id is incorrect", "interestingFragmentFindTest", fragments[0].getId());
-	URL fragmentRoot = null;
-	try {
-		fragmentRoot = new URL(fragments[0].getLocation());
-	} catch (MalformedURLException badURL) {
-		// ignore bad url
-	}
-
-	File testFile = null;
-	File testDirs = null;
-	try {
-		// Check for a file in a directory above this plugin's root
-		File pluginRootFile = new File(pluginRoot.getFile());
-		testFile = new File(pluginRootFile, "../interestingPluginFindTest.txt");
-		try {
-			FileOutputStream fs = new FileOutputStream(testFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("Test string from interestingPluginFindTest plugin in the .. directory.");
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			System.out.println ("Unable to write to test file " + testFile.getPath());
-		}
-		findFailsHelper("interestingPluginFindTest", null, "1", "..", null);
-		testFile.delete();
-		testFile = null;
-
-		// Check for a file in a directory above the fragment's root
-		File fragmentRootFile = new File(fragmentRoot.getFile());
-		testFile = new File(fragmentRootFile, "../interestingFragmentFindTest.txt");
-		try {
-			FileOutputStream fs = new FileOutputStream(testFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("Test string from interestingPluginFindTest fragment in the .. directory.");
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			System.out.println ("Unable to write to test file " + testFile.getPath());
-		}
-		findFailsHelper("interestingPluginFindTest", "interestingFragmentFindTest", "2", "..", null);
-		testFile.delete();
-
-		// Check for a file in a sibling directory to this plugin
-		testDirs = new File(pluginRootFile, "../siblingTestDirectory/");
-		testDirs.mkdirs();
-		testFile = new File(pluginRootFile, "../siblingTestDirectory/interestingPluginFindTest.txt");
-		try {
-			FileOutputStream fs = new FileOutputStream(testFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("Test string from interestingPluginFindTest plugin in the ../siblingTestDirectory directory.");
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			System.out.println ("Unable to write to test file " + testFile.getPath());
-		}
-		findFailsHelper("interestingPluginFindTest", null, "3", "../siblingTestDirectory", null);
-		deleteDirectory(testDirs);
-
-		// Check for a file in a sibling directory to this fragment
-		testDirs = new File(pluginRootFile, "../siblingFragmentTestDirectory/");
-		testDirs.mkdirs();
-		testFile = new File(pluginRootFile, "../siblingFragmentTestDirectory/interestingFragmentFindTest.txt");
-		try {
-			FileOutputStream fs = new FileOutputStream(testFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("Test string from interestingPluginFindTest fragment in the ../siblingFragmentTestDirectory directory.");
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			System.out.println ("Unable to write to test file " + testFile.getPath());
-		}
-		findFailsHelper("interestingPluginFindTest", "interestingFragmentFindTest", "4", "../siblingFragmentTestDirectory", null);
-		deleteDirectory(testDirs);
-	} finally {
-		if (testFile != null)
-			testFile.delete();
-		if (testDirs != null)
-			deleteDirectory(testDirs);
-	}
-	
-	// try a find when you've given an override but the value
-	// is an empty string
-	try {
-		Map override = new HashMap();
-		override.put("$nl$", "");
-		String subDirectory = buildNLTestFile("interestingPluginFindTest", null, 0, "ja_XX");
-		if (subDirectory != null)
-			findFailsHelper("interestingPluginFindTest", null, "5", "$nl$/", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build nl test data for interestingPluginFindTest");
-	} finally {
-		cleanupTestDirectory("interestingPluginFindTest", null, "nl");
-	}
-	
-	// try a find with an override but don't put anything in the
-	// override
-	try {
-		String fullNL = InternalBootLoader.getNL();
-		Map override = new HashMap();
-		String subDirectory = buildNLTestFile("interestingPluginFindTest", null, 0, fullNL);
-		if (subDirectory != null)
-			findHelper("interestingPluginFindTest", null, "6", "$nl$", "nl/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.2 Could not build nl test data for interestingPluginFindTest");
-	} finally {
-		cleanupTestDirectory("interestingPluginFindTest", null, "nl");
-	}
-
-	// Check for /namelessDirectory
-//	findHelper("interestingPluginFindTest", "1", "/namelessDirectory/namelessPluginFind.txt", "Test string from interestingPluginFind plugin namelessDirectory directory.", "interestingPluginFind/namelessDirectory");
-}
-
-public void testRootFind () {
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("rootPluginFindTest", null))
-			findHelper("rootPluginFindTest", null, "1", ".", null, null);
-	} finally {
-		cleanupTestDirectory("rootPluginFindTest", null, "rootPluginFindTest.txt");
-	}
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("rootPluginFindTest", "rootFragmentFindTest", null))
-			findHelper("rootPluginFindTest", "rootFragmentFindTest", "2", ".", null, null);
-	} finally {
-		cleanupTestDirectory("rootPluginFindTest", "rootFragmentFindTest", "rootFragmentFindTest.txt");
-	}
-}
-
-public void testNLFind() {
-	String fullNL = InternalBootLoader.getNL();
-	// How many segments in the default locale?
-	String nl = InternalBootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	// Build up nl related directories and test files
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", null, 0, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLTestFile("nlPluginFindTest", null, 1, fullNL);
-			if (verifyCheckingAllCombos)
-				System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, null);
-			else
-				// We don't expect this one to fail
-				fail ("0.2 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", null, "nl");
-		}
-	}
-
-	// Do a find for something in the plugin nl directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", null, "3", "$nl$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", null))
-			findHelper("nlPluginFindTest", null, "4", "$nl$", null, null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
-	}
-		
-	// Do a find for something in the plugin ja/CA directory which is a nonsense locale
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", null, "5", "$nl$", null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-
-	// Do a find for something in the fragment directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
-			if (verifyCheckingAllCombos)
-				System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, null);
-			else
-				// We don't expect this one to fail
-				fail ("0.5 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-		}
-	}
-
-	// Do a find for something in the fragment nl directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.6 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment ja/CA directory which is a nonsense locale
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-}
-public void testNLFindWithOverride() {
-	String fullNL = "ja_XX";
-	Map override = new HashMap();
-	override.put("$nl$", "ja_XX");
-	// How many segments in the default locale?
-	String nl = "ja_XX";
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	// Build up nl related directories and test files
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", null, 0, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLTestFile("nlPluginFindTest", null, 1, fullNL);
-			if (verifyCheckingAllCombos)
-				System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, override);
-			else
-				// We don't expect this one to fail
-				fail ("0.2 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", null, "nl");
-		}
-	}
-
-	// Do a find for something in the plugin nl directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", null, "3", "$nl$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", null))
-			findHelper("nlPluginFindTest", null, "4", "$nl$", null, override);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
-	}
-		
-	// Do a find for something in the plugin ja/CA directory which is a nonsense locale
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", null, "5", "$nl$", override);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-
-	// Do a find for something in the fragment directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
-			if (verifyCheckingAllCombos)
-				System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, override);
-			else
-				// We don't expect this one to fail
-				fail ("0.5 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-		}
-	}
-
-	// Do a find for something in the fragment nl directory
-	try {
-		String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.6 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, override);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment ja/CA directory which is a nonsense locale
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", override);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-}
-/**
- * Test the #find method with the old en_US directory structure. (the new one replaces
- * the under-scores wtih slashes)
- */
-public void _testOldNLFind() {
-	String fullNL = BootLoader.getNL();
-	// How many segments in the default locale?
-	String nl = BootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	// Build up nl related directories and test files
-	try {
-		String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, 0, fullNL);
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, 1, fullNL);
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, null);
-			else
-				// We don't expect this one to fail
-				fail ("0.2 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", null, "nl");
-		}
-	}
-
-	// Do a find for something in the plugin nl directory
-	try {
-		String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", null, "3", "$nl$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-	
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", null))
-			findHelper("nlPluginFindTest", null, "4", "$nl$", null, null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
-	}
-		
-	// Do a find for something in the plugin ja/CA directory which is a nonsense locale
-	try {
-		if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", null, "5", "$nl$", null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", null, "nl");
-	}
-
-	// Do a find for something in the fragment directory
-	try {
-		String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
-		if (subDirectory != null)
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
-			if (subDirectory != null)
-				findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, null);
-			else
-				// We don't expect this one to fail
-				fail ("0.5 Could not build first nl test data for nlPluginFindTest");
-		} finally {
-			cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-		}
-	}
-
-	// Do a find for something in the fragment nl directory
-	try {
-		String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
-		if (subDirectory != null)
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.6 Could not build first nl test data for nlPluginFindTest");
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
-			findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment ja/CA directory which is a nonsense locale
-	try {
-		if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
-			findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", null);
-	} finally {
-		cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
-	}
-}
-
-public void testOSFind() {
-	String fullOS = InternalBootLoader.getOS() + "/" + InternalBootLoader.getOSArch();
-	String subDirectory = null;
-	// Do a find for something in the plugin os/* directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 0, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", null, "1", "$os$", "os/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Now chop off a segment
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 1, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", null, "2", "$os$", "os/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.2 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-	
-	// Do a find for something in the plugin os directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 2, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("osPluginFindTest", null, "3", "$os$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("osPluginFindTest", null))
-			findHelper("osPluginFindTest", null, "4", "$os$", null, null);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "osPluginFindTest.txt");
-	}
-
-	// Do a find for something in the plugin os/badOS directory which is a 
-	// nonsense os
-	try {
-		if (buildPluginTestFile("osPluginFindTest", "os/badOS"))
-			findFailsHelper("osPluginFindTest", null, "5", "$os$", null);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Do a find for something in the fragment os/* directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 0, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", "osFragmentFindTest", "6", "$os$", "os/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-
-	// Get rid of one segment (the osArch portion)
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 1, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", "osFragmentFindTest", "7", "$os$", "os/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.5 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-	
-	// Do a find for something in the fragment os directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 2, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("osPluginFindTest", "osFragmentFindTest", "8", "$os$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.6 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", null))
-			findHelper("osPluginFindTest", "osFragmentFindTest", "9", "$os$", null, null);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "osFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment os/badOS directory which is a 
-	// nonsense os
-	try {
-		if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", "os/badOS"))
-			findFailsHelper("osPluginFindTest", "osFragmentFindTest", "10", "$os$", null);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-}
-
-public void testOSFindWithOverride() {
-	// An impossible combination but the test should work
-	String fullOS = "linux/xxi86";
-	Map override = new HashMap();
-	override.put("$os$", "linux/xxi86");
-	String subDirectory = null;
-	// Do a find for something in the plugin os/* directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 0, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", null, "1", "$os$", "os/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Now chop off a segment
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 1, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", null, "2", "$os$", "os/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.2 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-	
-	// Do a find for something in the plugin os directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", null, 2, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("osPluginFindTest", null, "3", "$os$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("osPluginFindTest", null))
-			findHelper("osPluginFindTest", null, "4", "$os$", null, override);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "osPluginFindTest.txt");
-	}
-
-	// Do a find for something in the plugin os/badOS directory which is a 
-	// nonsense os
-	try {
-		if (buildPluginTestFile("osPluginFindTest", "os/badOS"))
-			findFailsHelper("osPluginFindTest", null, "5", "$os$", override);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", null, "os");
-	}
-
-	// Do a find for something in the fragment os/* directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 0, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", "osFragmentFindTest", "6", "$os$", "os/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-
-	// Get rid of one segment (the osArch portion)
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 1, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("osPluginFindTest", "osFragmentFindTest", "7", "$os$", "os/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.5 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-	
-	// Do a find for something in the fragment os directory
-	try {
-		subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 2, fullOS);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("osPluginFindTest", "osFragmentFindTest", "8", "$os$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.6 Could not build os test data");
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", null))
-			findHelper("osPluginFindTest", "osFragmentFindTest", "9", "$os$", null, override);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "osFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment os/badOS directory which is a 
-	// nonsense os
-	try {
-		if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", "os/badOS"))
-			findFailsHelper("osPluginFindTest", "osFragmentFindTest", "10", "$os$", override);
-	} finally {
-		cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
-	}
-}
-
-public void testWSFind() {
-	String ws = InternalBootLoader.getWS();
-	String subDirectory = null;
-	// Do a find for something in the plugin ws/* directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", null, 0, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("wsPluginFindTest", null, "1", "$ws$", "ws/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the plugin ws directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", null, 1, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("wsPluginFindTest", null, "2", "$ws$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.2 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("wsPluginFindTest", null))
-			findHelper("wsPluginFindTest", null, "3", "$ws$", null, null);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "wsPluginFindTest.txt");
-	}
-
-	// Do a find for something in the plugin ws/badWS directory which is a 
-	// nonsense ws
-	try {
-		if (buildPluginTestFile("wsPluginFindTest", "ws/badWS"))
-			findFailsHelper("wsPluginFindTest", null, "4", "$ws$", null);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the fragment ws/* directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 0, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("wsPluginFindTest", "wsFragmentFindTest", "5", "$ws$", "ws/" + subDirectory, null);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-
-	// Do a find for something in the fragment ws directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 1, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "6", "$ws$", null);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", null))
-			findHelper("wsPluginFindTest", "wsFragmentFindTest", "7", "$ws$", null, null);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "wsFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment ws/badWS directory which is a 
-	// nonsense ws
-	try {
-		if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", "ws/badWS"))
-			findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "8", "$ws$", null);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-}
-
-public void testWSFindWithOverride() {
-	// An impossible combination but the test should work
-	String ws = "win4k";
-	Map override = new HashMap();
-	override.put("$ws$", "win4k");
-	String subDirectory = null;
-	// Do a find for something in the plugin ws/* directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", null, 0, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("wsPluginFindTest", null, "1", "$ws$", "ws/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.1 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the plugin ws directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", null, 1, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("wsPluginFindTest", null, "2", "$ws$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.2 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the plugin root directory
-	try {
-		if (buildPluginTestFile("wsPluginFindTest", null))
-			findHelper("wsPluginFindTest", null, "3", "$ws$", null, override);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "wsPluginFindTest.txt");
-	}
-
-	// Do a find for something in the plugin ws/badWS directory which is a 
-	// nonsense ws
-	try {
-		if (buildPluginTestFile("wsPluginFindTest", "ws/badWS"))
-			findFailsHelper("wsPluginFindTest", null, "4", "$ws$", override);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", null, "ws");
-	}
-
-	// Do a find for something in the fragment ws/* directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 0, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findHelper("wsPluginFindTest", "wsFragmentFindTest", "5", "$ws$", "ws/" + subDirectory, override);
-		else
-			// We don't expect this one to fail
-			fail ("0.3 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-
-	// Do a find for something in the fragment ws directory
-	try {
-		subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 1, ws);
-		if (verifyCheckingAllCombos)
-			System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
-		if (subDirectory != null)
-			findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "6", "$ws$", override);
-		else
-			// We don't expect this one to fail
-			fail ("0.4 Could not build ws test data");
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-
-	// Do a find for something in the fragment root directory
-	try {
-		if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", null))
-			findHelper("wsPluginFindTest", "wsFragmentFindTest", "7", "$ws$", null, override);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "wsFragmentFindTest.txt");
-	}
-
-	// Do a find for something in the fragment ws/badWS directory which is a 
-	// nonsense ws
-	try {
-		if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", "ws/badWS"))
-			findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "8", "$ws$", override);
-	} finally {
-		cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
-	}
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
deleted file mode 100644
index 020a506..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
+++ /dev/null
@@ -1,2152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.util.MissingResourceException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXParseException;
-
-public class PluginTests extends EclipseWorkspaceTest {
-	PluginDescriptor plugin = null;
-	PluginRegistry registry = null;
-	InternalFactory factory = null;
-public PluginTests() {
-	super(null);
-}
-/**
- * BasicXML constructor comment.
- * @param name java.lang.String
- */
-public PluginTests(String name) {
-	super(name);
-}
-/* doParsing
- * This method will parse a series of XML files.  The input array should be
- * an array of string buffers where each string buffer is considered a complete 
- * XML file.  The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, String[] localXMLFiles) {
-
-	registry = new PluginRegistry();
-	if (localXMLFiles == null || localXMLFiles.length == 0)
-		return null;
-
-	for (int i = 0; i < localXMLFiles.length; i++) {
-		String thisXMLString = localXMLFiles[i];
-		PluginModel localPlugin = null;
-		try {
-			ByteArrayInputStream is = new ByteArrayInputStream(thisXMLString.toString().getBytes());
-			PluginParser p = new PluginParser(factory);
-			localPlugin = p.parsePlugin(new InputSource(is));
-		} catch (SAXParseException se) {
-			/* exception details logged by parser */
-			fail("1.2 SAX Parser exception encountered.", se);
-		} catch (Exception e) {
-			fail("1.3 ", e);
-		}
-		if (localPlugin instanceof PluginDescriptorModel) {
-			registry.addPlugin((PluginDescriptorModel)localPlugin);
-		} else {
-			registry.addFragment((PluginFragmentModel)localPlugin);
-		}
-		localPlugin.setRegistry(registry);
-	}
-	return registry;
-}
-public String[] extensionPointSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("First test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("first");
-	pluginExtensionPoints[0].setParentPluginDescriptor(plugin);
-	pluginExtensionPoints[0].setSchema("some schema name");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	pluginExtensionPoints[1].setParentPluginDescriptor(plugin);
-	pluginExtensionPoints[1].setId("second");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  extensionPointTest
- *  Tests to ensure we create extension point entries and populate them correctly.
- *  Note that this test will NOT ensure that we correctly link related extensions
- *  and extension points.  This will be done in a different test
- */
-public void extensionPointTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extensionPointSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-	// Check both the read-only accessors and the read-write accessors
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Requires List", pluginList[0].getRequires());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Now check the same things but with the read-only accessors
-	assertEquals("2.11 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("2.12 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("2.13 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("2.14 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("2.15 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
-	assertEquals("2.16 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("2.17 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("2.18 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("2.19 Plugin Location", ROPluginList[0].getInstallURL());
-
-	// Now check the extension points
-	ExtensionPointModel[] extPtList = pluginList[0].getDeclaredExtensionPoints();
-	assertNotNull("3.1 Extension Point list null", extPtList);
-	assertEquals("3.2 Number of extension points", extPtList.length, 2);
-	IExtensionPoint[] ROExtPtList = ROPluginList[0].getExtensionPoints();
-	assertNotNull("3.1 Extension Point list null", ROExtPtList);
-	assertEquals("3.2 Number of extension points", ROExtPtList.length, 2);
-
-	ExtensionPoint[] originalExtPts = (ExtensionPoint[]) plugin.getDeclaredExtensionPoints();
-
-	// Make sure the values in this extension points are correct
-	assertNotNull("4.1 Extension Point config. elements", ROExtPtList[0].getConfigurationElements());
-	assertNotNull("4.2 Extension Point plugin", ROExtPtList[0].getDeclaringPluginDescriptor());
-	IExtension extensions[] = ROExtPtList[0].getExtensions();
-	assertNotNull("4.3 Extension Point extensions", extensions);
-	if (extensions.length > 0)
-		assertNotNull("4.4 Retrive extension",ROExtPtList[0].getExtension(extensions[0].getUniqueIdentifier()));
-	assertEquals("4.5 Extension Point label", ROExtPtList[0].getLabel(), originalExtPts[0].getName());
-	assertEquals("4.6 Extension Point schema", extPtList[0].getSchema(), originalExtPts[0].getSchema());
-	assertEquals("4.7 Extension Point simple id", ROExtPtList[0].getSimpleIdentifier(), originalExtPts[0].getId());
-	assertEquals("4.8 Extension Point unique id", ROExtPtList[0].getUniqueIdentifier(), originalExtPts[0].getUniqueIdentifier());
-	assertEquals("4.9 Extension Point name", extPtList[0].getName(), originalExtPts[0].getName());
-	assertEquals("4.10 Extension Point id", extPtList[0].getId(), originalExtPts[0].getId());
-
-	// And check the 2nd requires element too
-	assertNotNull("5.1 Extension Point config. elements", ROExtPtList[1].getConfigurationElements());
-	assertNotNull("5.2 Extension Point plugin", ROExtPtList[1].getDeclaringPluginDescriptor());
-	IExtension extensions2[] = ROExtPtList[1].getExtensions();
-	assertNotNull("5.3 Extension Point extensions", extensions2);
-	if (extensions2.length > 0)
-		assertNotNull("5.4 Retrive extension",ROExtPtList[1].getExtension(extensions2[0].getUniqueIdentifier()));
-	assertEquals("5.5 Extension Point label", ROExtPtList[1].getLabel(), originalExtPts[1].getName());
-	assertEquals("5.6 Extension Point schema", extPtList[1].getSchema(), originalExtPts[1].getSchema());
-	assertEquals("5.7 Extension Point simple id", ROExtPtList[1].getSimpleIdentifier(), originalExtPts[1].getId());
-	assertEquals("5.8 Extension Point unique id", ROExtPtList[1].getUniqueIdentifier(), originalExtPts[1].getUniqueIdentifier());
-	assertEquals("5.9 Extension Point name", extPtList[1].getName(), originalExtPts[1].getName());
-	assertEquals("5.10 Extension Point id", extPtList[1].getId(), originalExtPts[1].getId());
-	
-	factory = null;
-}
-public String[] extensionSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[3];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("First Extension Point");
-
-	pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
-	pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
-	// First group of properties
-	ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
-	for (int i = 0; i < propertyGroup1.length; i++) {
-		propertyGroup1[i] = new ConfigurationProperty();
-	}
-	propertyGroup1[0].setName("id");
-	propertyGroup1[0].setValue("category_id");
-	propertyGroup1[1].setName("name");
-	propertyGroup1[1].setValue("category_name");
-	// Second group of properties
-	ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
-	for (int i = 0; i < propertyGroup2.length; i++) {
-		propertyGroup2[i] = new ConfigurationProperty();
-	}
-	propertyGroup2[0].setName("id");
-	propertyGroup2[0].setValue("wizard_id");
-	propertyGroup2[1].setName("name");
-	propertyGroup2[1].setValue("wizard_name");
-	propertyGroup2[2].setName("class");
-	propertyGroup2[2].setValue("wizard_class");
-	// Third group of properties
-	ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
-	for (int i = 0; i < propertyGroup3.length; i++) {
-		propertyGroup3[i] = new ConfigurationProperty();
-	}
-	propertyGroup3[0].setName("class");
-	propertyGroup3[0].setValue("a selection class");
-
-	// First subelement group
-	ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup1.length; i++) {
-		subElementGroup1[i] = new ConfigurationElement();
-		subElementGroup1[i].setParent(pluginExtensions[2]);
-	}
-	subElementGroup1[0].setName("category");
-	subElementGroup1[0].setProperties(propertyGroup1);
-
-	subElementGroup1[1].setName("wizard");
-	subElementGroup1[1].setProperties(propertyGroup2);
-
-	// Second subelement group
-	ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
-	for (int i = 0; i < subElementGroup2.length; i++) {
-		subElementGroup2[i] = new ConfigurationElement();
-		subElementGroup2[i].setParent(subElementGroup1[1]);
-	}
-	subElementGroup2[0].setName("description");
-	subElementGroup2[0].setValue("This is just a description");
-	subElementGroup2[1].setName("selection");
-	subElementGroup2[1].setProperties(propertyGroup3);
-
-	// Now link them together
-	subElementGroup1[1].setSubElements(subElementGroup2);
-	pluginExtensions[2].setSubElements(subElementGroup1);
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  extensionTest
- *  Tests to ensure we create extension entries and populate them correctly.
- *  Note that this test will NOT ensure that we correctly link related extensions
- *  and extension points.  This will be done in a different test
- */
-public void extensionTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extensionSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Requires List", pluginList[0].getRequires());
-	assertNull("2.8 Extension Point List", pluginList[0].getDeclaredExtensionPoints());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat for read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.7 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.8 Extension Point List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	// Now check the extension points
-	ExtensionModel[] extensionList = pluginList[0].getDeclaredExtensions();
-	IExtension[] ROExtensionList = ROPluginList[0].getExtensions();
-	assertNotNull("4.1 Extension list null", extensionList);
-	assertEquals("4.2 Number of extensions", extensionList.length, 3);
-	assertNotNull("4.3 Extension list null", ROExtensionList);
-	assertEquals("4.4 Number of extensions", ROExtensionList.length, 3);
-
-	ExtensionModel[] originalExtensions = plugin.getDeclaredExtensions();
-
-	// Make sure the values in this extension are correct
-	assertEquals("5.1 Extension name", extensionList[0].getName(), originalExtensions[0].getName());
-	assertEquals("5.2 Extension id", extensionList[0].getId(), originalExtensions[0].getId());
-	assertEquals("5.3 Extension extension point", extensionList[0].getExtensionPoint(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
-	assertEquals("5.4 Extension name", ROExtensionList[0].getLabel(), originalExtensions[0].getName());
-	assertEquals("5.5 Extension id", ROExtensionList[0].getSimpleIdentifier(), originalExtensions[0].getId());
-	assertEquals("5.6 Extension extension point", ROExtensionList[0].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
-	assertNotNull("5.7 Extension plugin", ROExtensionList[0].getDeclaringPluginDescriptor());
-
-	// And check the 2nd extension too
-	assertEquals("6.1 Extension name", extensionList[1].getName(), originalExtensions[1].getName());
-	assertEquals("6.2 Extension id", extensionList[1].getId(), originalExtensions[1].getId());
-	assertEquals("6.3 Extension extension point", extensionList[1].getExtensionPoint(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
-	assertEquals("6.4 Extension name", ROExtensionList[1].getLabel(), "");
-	assertEquals("6.5 Extension id", ROExtensionList[1].getSimpleIdentifier(), originalExtensions[1].getId());
-	assertEquals("6.6 Extension extension point", ROExtensionList[1].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
-	assertNotNull("6.7 Extension plugin", ROExtensionList[1].getDeclaringPluginDescriptor());
-	
-	// Finally check the 3rd extension (which is the most complex)
-	assertEquals("7.1 Extension name", extensionList[2].getName(), originalExtensions[2].getName());
-	assertEquals("7.2 Extension id", extensionList[2].getId(), originalExtensions[2].getId());
-	assertEquals("7.3 Extension extension point", extensionList[2].getExtensionPoint(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
-	assertEquals("7.4 Extension name", ROExtensionList[2].getLabel(), "");
-	assertEquals("7.5 Extension id", ROExtensionList[2].getSimpleIdentifier(), originalExtensions[2].getId());
-	assertEquals("7.6 Extension extension point", ROExtensionList[2].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
-	assertNotNull("7.7 Extension plugin", ROExtensionList[2].getDeclaringPluginDescriptor());
-	
-	// Now comes the fun part.  Check the structure that hangs off this extension
-	ConfigurationElementModel[] subElements = extensionList[2].getSubElements();
-	IConfigurationElement ROSubElements[] = ROExtensionList[2].getConfigurationElements();
-	ConfigurationElement[] originalSubElements = (ConfigurationElement[]) originalExtensions[2].getSubElements();
-	assertNotNull("8.1 First level subelements null", subElements);
-	assertEquals("8.2 Number of subelements", subElements.length, 2);
-	assertNotNull("8.3 First level subelements null", ROSubElements);
-	assertEquals("8.4 Number of subelements", ROSubElements.length, 2);
-
-	// First, there should be 2 subelements:  category and wizard
-	assertEquals("9.1 First level subelements name", subElements[0].getName(), originalSubElements[0].getName());
-	assertEquals("9.2 First level subelements name", subElements[1].getName(), originalSubElements[1].getName());
-	assertEquals("9.3 First level subelements name", ROSubElements[0].getName(), originalSubElements[0].getName());
-	assertEquals("9.4 First level subelements name", ROSubElements[1].getName(), originalSubElements[1].getName());
-
-	// Now check the first property group (off the 'category' subelement)
-	// Note there is no read-only version of a configuration property
-	ConfigurationPropertyModel[] properties = subElements[0].getProperties();
-	ConfigurationProperty[] originalProperties = (ConfigurationProperty[]) originalSubElements[0].getProperties();
-
-	// There should be 2 properties:  id and name
-	assertNotNull("10.1 Property Group 1 null", properties);
-	assertEquals("10.2 Number of properties", properties.length, 2);
-	assertEquals("10.3 Property Group 1 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("10.4 Property Group 1 - value", properties[0].getValue(), originalProperties[0].getValue());
-	assertEquals("10.5 Property Group 1 - name", properties[1].getName(), originalProperties[1].getName());
-	assertEquals("10.6 Property Group 1 - value", properties[1].getValue(), originalProperties[1].getValue());
-
-	// Check the second property group (off the 'wizard' subelement)
-	properties = subElements[1].getProperties();
-	originalProperties = (ConfigurationProperty[]) originalSubElements[1].getProperties();
-	assertNotNull("11.1 Property Group 2 null", properties);
-	assertEquals("11.2 Number of properties", properties.length, 3);
-	assertEquals("11.3 Property Group 2 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("11.4 Property Group 2 - value", properties[0].getValue(), originalProperties[0].getValue());
-	assertEquals("11.5 Property Group 2 - name", properties[1].getName(), originalProperties[1].getName());
-	assertEquals("11.6 Property Group 2 - value", properties[1].getValue(), originalProperties[1].getValue());
-	assertEquals("11.7 Property Group 2 - name", properties[2].getName(), originalProperties[2].getName());
-	assertEquals("11.8 Property Group 2 - value", properties[2].getValue(), originalProperties[2].getValue());
-
-	// The 'wizard' subelement has 2 subelements that hang off it:  description and selection
-	ConfigurationElementModel[] subElements2 = subElements[1].getSubElements();
-	ConfigurationElement[] originalSubElements2 = (ConfigurationElement[]) originalSubElements[1].getSubElements();
-	IConfigurationElement ROSubElements2[] = ROSubElements[1].getChildren();
-	assertNotNull("12.1 Second level subelements null", subElements2);
-	assertEquals("12.2 Number of subelements", subElements2.length, 2);
-	assertNotNull("12.3 Second level subelements null", ROSubElements2);
-	assertEquals("12.4 Number of subelements", ROSubElements2.length, 2);
-
-	// Check for 'description' and 'selection'
-	assertEquals("13.1 Second level subelements name", subElements2[0].getName(), originalSubElements2[0].getName());
-	assertEquals("13.2 Second level subelements value", subElements2[0].getValue(), originalSubElements2[0].getValue());
-	assertEquals("13.3 Second level subelements name", subElements2[1].getName(), originalSubElements2[1].getName());
-	assertEquals("13.4 Second level subelements name", ROSubElements2[0].getName(), originalSubElements2[0].getName());
-	assertEquals("13.5 Second level subelements value", ROSubElements2[0].getValue(), originalSubElements2[0].getValue());
-	assertEquals("13.6 Second level subelements name", ROSubElements2[1].getName(), originalSubElements2[1].getName());
-
-	// The last of the second level subelements (selection) has a single property
-	properties = subElements2[1].getProperties();
-	originalProperties = (ConfigurationProperty[]) originalSubElements2[1].getProperties();
-	assertNotNull("14.1 Property Group 3 null", properties);
-	assertEquals("14.2 Number of properties", properties.length, 1);
-	assertEquals("14.3 Property Group 3 - name", properties[0].getName(), originalProperties[0].getName());
-	assertEquals("14.4 Property Group 3 - value", properties[0].getValue(), originalProperties[0].getValue());
-
-	factory = null;
-}
-public String[] extExtPtLinkSetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("abc1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Extension[] pluginExtensions = new Extension[4];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
-	pluginExtensions[1].setName("Second Extension");
-	pluginExtensions[1].setId("second");
-	pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
-	pluginExtensions[2].setName("Third Extension");
-	pluginExtensions[2].setId("third");
-	pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
-	pluginExtensions[3].setName("Fourth Extension");
-	pluginExtensions[3].setId("fourth");
-	pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("firstExtPt");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	pluginExtensionPoints[1].setId("secondExtPt");
-	pluginExtensionPoints[2].setName("Third Extension Point");
-	pluginExtensionPoints[2].setId("thirdExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test2");
-	plugin.setId("abc2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("Another Extension Point");
-	pluginExtensionPoints[0].setId("anotherExtPt");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	pluginList[1] = plugin;
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[2];
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  extExtPtLinkTest
- *  Tests to ensure that extensions and extension points are linked correctly
- *  at registry resolve time.
- */
-public void extExtPtLinkTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = extExtPtLinkSetup();
-	registry = doParsing(factory, localXMLFiles);
-	registry.resolve(true, true);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-	PluginDescriptorModel plugin1 = registry.getPlugin("abc1");
-	IPluginDescriptor ROplugin1 = registry.getPluginDescriptor("abc1");
-	PluginDescriptorModel plugin2 = registry.getPlugin("abc2");
-	IPluginDescriptor ROplugin2 = registry.getPluginDescriptor("abc2");
-	assertNotNull("1.5 Can't find plugin", plugin1);
-	assertNotNull("1.6 Can't find read only plugin", ROplugin1);
-	assertNotNull("1.7 Can't find plugin", plugin2);
-	assertNotNull("1.8 Can't find read only plugin", ROplugin2);
-
-	// All of the extensions are in the abc1 plugin.  The abc2 plugin just
-	// contained one of the extension points.
-	ExtensionPointModel[] extensionPtList = plugin1.getDeclaredExtensionPoints();
-	IExtensionPoint[] ROExtensionPtList = ROplugin1.getExtensionPoints();
-	assertNotNull("2.1 Extension point list null", extensionPtList);
-	assertNotNull("2.2 Extension point list null", ROExtensionPtList);
-	assertEquals("2.3 Extension point list length", extensionPtList.length, 3);
-	assertEquals("2.4 Extension point list length", ROExtensionPtList.length, 3);
-
-	String pluginId = plugin1.getId();
-	// Just check that the 'point' of the extension, matches the pluginId.extensionPointId
-	// pair for this particular extension point
-	for (int i = 0; i < extensionPtList.length; i++) {
-		ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
-		IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
-		assertEquals("3.1." + i + " Extension length", extension.length, 1);
-		assertEquals("3.2." + i + " Extension length", ROExtension.length, 1);
-		assertEquals("3.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
-		assertEquals("3.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
-	}
-	
-	// Now repeat for the second plugin
-	extensionPtList = plugin2.getDeclaredExtensionPoints();
-	ROExtensionPtList = ROplugin2.getExtensionPoints();
-	assertNotNull("4.1 Extension point list null", extensionPtList);
-	assertNotNull("4.2 Extension point list null", ROExtensionPtList);
-	assertEquals("4.3 Extension point list length", extensionPtList.length, 1);
-	assertEquals("4.4 Extension point list length", ROExtensionPtList.length, 1);
-	
-	pluginId = plugin2.getId();
-	for (int i = 0; i < extensionPtList.length; i++) {
-		ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
-		IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
-		assertEquals("5.1." + i + " Extension length", extension.length, 1);
-		assertEquals("5.2." + i + " Extension length", ROExtension.length, 1);
-		assertEquals("5.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
-		assertEquals("5.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
-	}
-
-	factory = null;
-}
-public String[] librarySetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	Library[] pluginRuntime = new Library[2];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	String[] exportString = { "*" };
-	pluginRuntime[0].setExports(exportString);
-	pluginRuntime[0].setType(ILibrary.CODE);
-	pluginRuntime[1].setName("xerces.jar");
-	pluginRuntime[1].setType(ILibrary.RESOURCE);
-	plugin.setRuntime(pluginRuntime);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  libraryTest
- *  Tests to ensure we create library entries and populate them correctly.
- */
-public void libraryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = librarySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Requires List", pluginList[0].getRequires());
-	assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Do the same checks but for the read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.9 Plugin Intall URL", ROPluginList[0].getInstallURL());
-
-	// Now check the library elements
-	LibraryModel[] libList = pluginList[0].getRuntime();
-	ILibrary[] ROLibList = ROPluginList[0].getRuntimeLibraries();
-	assertNotNull("4.1 Library list null", libList);
-	assertEquals("4.2 Number of library elements", libList.length, 2);
-	assertNotNull("4.3 Library list null", ROLibList);
-	assertEquals("4.4 Number of library elements", ROLibList.length, 2);
-
-	LibraryModel[] originalLibList = plugin.getRuntime();
-	String[] exportList = null;
-
-	// Make sure the values in this library element are correct
-	assertEquals("5.1 Library name", libList[0].getName(), originalLibList[0].getName());
-	assertTrue("5.2 Export list", libList[0].isExported());
-	assertTrue("5.3 Fully exported list", libList[0].isFullyExported());
-	assertNotNull("5.4 Export mask", exportList = libList[0].getExports());
-	assertEquals("5.5 Number of export elements", exportList.length, 1);
-	assertEquals("5.6 Export list value", exportList[0], originalLibList[0].getExports()[0]);
-
-	// And check the 2nd library element too
-	assertEquals("6.1 Library name", libList[1].getName(), originalLibList[1].getName());
-	assertTrue("6.2 Export list", !libList[1].isExported());
-	assertTrue("6.3 Fully exported list", !libList[1].isFullyExported());
-	assertNull("6.4 Export mask", libList[1].getExports());
-
-	// Repeat the above tests for the read-only accessors
-	// Make sure the values in this library element are correct
-	assertEquals("7.1 Library name", ROLibList[0].getPath().toString(), originalLibList[0].getName());
-	assertTrue("7.2 Export list", ROLibList[0].isExported());
-	assertTrue("7.3 Fully exported list", ROLibList[0].isFullyExported());
-	// You will get null here because this is a fully exported library
-	assertNull("7.4 Export mask", exportList = ROLibList[0].getContentFilters());
-	assertEquals("7.5 Type",ROLibList[0].getType(),ILibrary.CODE);
-
-	// And check the 2nd library element too
-	assertEquals("8.1 Library name", ROLibList[1].getPath().toString(), originalLibList[1].getName());
-	assertTrue("8.2 Export list", !ROLibList[1].isExported());
-	assertTrue("8.3 Fully exported list", !ROLibList[1].isFullyExported());
-	assertNull("8.4 Export mask", ROLibList[1].getContentFilters());
-	assertEquals("8.5 Type",ROLibList[1].getType(),ILibrary.RESOURCE);
-	
-	factory = null;
-}
-public String[] pluginSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  pluginTest
- *  This is a very basic test to make sure we are parsing a very
- *  simple XML file and populating a plugin descriptor correctly
- */
-public void pluginTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = pluginSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertEquals("2.5 Plugin Class", plugin.getPluginClass(), pluginList[0].getPluginClass());
-	assertNull("2.6 Requires List", pluginList[0].getRequires());
-	assertNull("2.7 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.8 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.9 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.10 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.11 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat these tests with the read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-	//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
-	assertEquals("3.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.8 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.9 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.10 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	factory = null;
-}
-
-public String[] pluginDescriptorSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
-
-	for (int i = 0; i < pluginExtensionPoints.length; i++)
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	pluginExtensionPoints[0].setName("First Extension Point");
-	pluginExtensionPoints[0].setId("first");
-	pluginExtensionPoints[0].setSchema("some schema name");
-	pluginExtensionPoints[1].setName("Second Extension Point");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-	
-	Extension[] pluginExtensions = new Extension[3];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	pluginExtensions[0].setId("first");
-	pluginExtensions[0].setExtensionPoint("First Extension Point");
-	pluginExtensions[1].setExtensionPoint("Second Extension Point");
-	pluginExtensions[2].setExtensionPoint("Third Extension Point");
-	plugin.setDeclaredExtensions(pluginExtensions);
-
-	plugin.setEnabled(true);
-
-	FragmentDescriptor fragments[] = new FragmentDescriptor[2];
-	FragmentDescriptor fragment = new FragmentDescriptor();
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fragments[0] = fragment;
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fragments[1] = fragment;
-	plugin.setFragments(fragments);
-
-	plugin.setLocation(Platform.getLocation().toString());
-	plugin.setPluginClass("org.eclipse.pluginClass");
-	plugin.setRegistry(new PluginRegistryModel());
-
-	PluginPrerequisiteModel prereqs[] = new PluginPrerequisiteModel[2];
-	PluginPrerequisiteModel prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prereqs[0] = prerequisite;
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("softPrereqExists");
-	prereqs[1] = prerequisite;
-	plugin.setRequires(prereqs);
-
-	Library libraries[] = new Library[2];
-	Library library = new Library();
-	String[] exportList = new String[1];
-	exportList[0] = "*";
-	library.setExports(exportList);
-	libraries[0] = library;
-	library = new Library();
-	library.setName("libraryName");
-	libraries[1] = library;
-	plugin.setRuntime(libraries);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  pluginDescriptorTest
- *  This is a simple test to ensure that a created plugin descriptor
- *	answers its values correctly (IPluginDescrpitor interface test).
- */
-public void pluginDescriptorTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = pluginDescriptorSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Just check the read-only accessors since we're testing the IPluginDescriptor interface
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin descriptor we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("2.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-	//	assertNotNull("2.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("2.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 2);
-	assertEquals("2.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 2);
-	IExtensionPoint points[] = ROPluginList[0].getExtensionPoints();
-	assertEquals("2.8 Extension Points List", points.length, 2);
-	assertNotNull("2.9 Extension Point", ROPluginList[0].getExtensionPoint(points[0].getSimpleIdentifier()));
-	IExtension extensions[] = ROPluginList[0].getExtensions();
-	assertEquals("2.10 Extensions List", extensions.length, 3);
-	assertNotNull("2.11 Extension", ROPluginList[0].getExtension(extensions[0].getSimpleIdentifier()));
-	assertNotNull("2.12 Plugin Install URL", ROPluginList[0].getInstallURL());
-	assertEquals("2.13","yak",ROPluginList[0].getResourceString("yak"));
-	assertTrue("2.14 is activated",!ROPluginList[0].isPluginActivated());
-
-	try {
-		// should not find it, and hence throw an exception
-		ROPluginList[0].getResourceBundle();
-		assertTrue("2.15 Missing bundle",false);
-	} catch (MissingResourceException e) {
-		assertTrue("2.15 Missing bundle",true);
-	}
-
-	factory = null;
-}
-public String[] PR1GBZ0AWSetup1() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[3];
-	for (int i = 0; i < pluginList.length; i++) {
-		pluginList[i] = new PluginDescriptor();
-	}
-	pluginList[0].setName("Top level plugin");
-	pluginList[0].setId("one.two.three");
-	pluginList[0].setVersion("1.0.0");
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[0].setRequires(pluginRequires);
-
-	pluginList[1].setName("First Circular plugin");
-	pluginList[1].setId("com.ibm.dav4j");
-	pluginList[1].setVersion("1.0.0");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("a.b.c");
-	pluginList[1].setRequires(pluginRequires);
-
-	pluginList[2].setName("A final test2");
-	pluginList[2].setId("a.b.c");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[2].setRequires(pluginRequires);
-	pluginList[2].setVersion("1.0.0");
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[3];
-
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-public String[] PR1GBZ0AWSetup2() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[2];
-	for (int i = 0; i < pluginList.length; i++) {
-		pluginList[i] = new PluginDescriptor();
-	}
-	pluginList[0].setName("First Circular plugin");
-	pluginList[0].setId("com.ibm.dav4j");
-	pluginList[0].setVersion("1.0.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("a.b.c");
-	pluginList[0].setRequires(pluginRequires);
-
-	pluginList[1].setName("A final test2");
-	pluginList[1].setId("a.b.c");
-	pluginList[1].setVersion("1.0.0");
-
-	pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.dav4j");
-	pluginList[1].setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	String[] localXMLFiles = new String[2];
-
-	for (int i = 0; i < pluginList.length; i++) {
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(pluginList[i], w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-	return localXMLFiles;
-}
-/*  PR1GBZ0AWTest1
- *  Tests to ensure we have solved this PR.  This PR indicates a stack overflow will occur
- *  if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest1() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = PR1GBZ0AWSetup1();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now do the resolve.  This is where the stack overflow would occur
-	registry.resolve(true, true);
-
-	// There should be no plugins in the registry
-	pluginList = registry.getPlugins();
-	assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
-	factory = null;
-}
-/*  PR1GBZ0AWTest2
- *  Tests to ensure we have solved this PR.  This PR indicates a stack overflow will occur
- *  if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest2() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = PR1GBZ0AWSetup2();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Now do the resolve.  This is where the stack overflow would occur
-	registry.resolve(true, true);
-
-	// There should be no plugins in the registry
-	pluginList = registry.getPlugins();
-	// **NOTE** This test currently fails
-	// assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
-	factory = null;
-}
-/*  readOnlyConfigurationElement
- *  This method ensures that once the registry is marked as read-only, configuration
- *  elements in the registry cannot be written to.  This method is called as part of
- *  the test readOnlyTest.
- */
-public void readOnlyConfigurationElement(ConfigurationElement subElement) {
-	// Check to ensure we cannot write to the configuration elements
-	assertTrue("7.1 Configuration Element marked", subElement.isReadOnly());
-	// Now check all methods that can write to a ConfigurationElement
-	try {
-		subElement.setName("name");
-		assertTrue("7.2 ConfigurationElement - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		subElement.setParent(new PluginDescriptor());
-		assertTrue("7.3 ConfigurationElement - setParent", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		subElement.setProperties(new ConfigurationPropertyModel[1]);
-		assertTrue("7.4 ConfigurationElement - setProperties", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		subElement.setSubElements(new ConfigurationElementModel[1]);
-		assertTrue("7.5 ConfigurationElement - setSubElements", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		subElement.setValue("value");
-		assertTrue("7.6 ConfigurationElement - setValue", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-/*  readOnlyConfigurationProperty
- *  This method ensures that once the registry is marked as read-only, configuration
- *  property elements in the registry cannot be written to.  This method is called
- *  as part of the test readOnlyTest.
- */
-public void readOnlyConfigurationProperty(ConfigurationProperty property) {
-
-	// Check to ensure we cannot write to the configuration property elements
-	assertTrue("8.1 Configuration Property marked", property.isReadOnly());
-	// Now check all methods that can write to a ConfigurationProperty
-	try {
-		property.setName("name");
-		assertTrue("8.4 ConfigurationProperty - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		property.setValue("value");
-		assertTrue("8.3 ConfigurationProperty - setValue", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-/*  readOnlyExtension
- *  This method ensures that once the registry is marked as read-only, extensions
- *  in the registry cannot be written to.  This method is called as part of the test
- *  readOnlyTest.
- */
-public void readOnlyExtension(Extension extension) {
-	// Check to ensure we cannot write to the extension elements
-	assertTrue("6.1 Extension marked", extension.isReadOnly());
-	// Now check all methods that can write to an Extension
-	try {
-		extension.setName("name");
-		assertTrue("6.2 Plugin - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extension.setExtensionPoint("extensionPoint");
-		assertTrue("6.3 Extension - setExtensionPoint", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extension.setId("id");
-		assertTrue("6.4 Extension - setId", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extension.setParentPluginDescriptor(new PluginDescriptor());
-		assertTrue("6.5 Extension - setParentPluginDescriptor", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extension.setSubElements(new ConfigurationElementModel[1]);
-		assertTrue("6.6 Extension - setSubElements", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-/*  readOnlyExtensionPoints
- *  This method ensures that once the registry is marked as read-only, extension
- *  points in the registry cannot be written to.  This method is called as part
- *  of the test readOnlyTest.
- */
-public void readOnlyExtensionPoint(ExtensionPoint extensionPoint) {
-	// Check to ensure we cannot write to the extension point elements
-	assertTrue("5.1 Extension Point marked", extensionPoint.isReadOnly());
-	// Now check all methods that can write to an ExtensionPoint
-	try {
-		extensionPoint.setName("name");
-		assertTrue("5.2 Plugin - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extensionPoint.setDeclaredExtensions(new ExtensionModel[1]);
-		assertTrue("5.3 Extension Point - setDeclaredExtensions", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extensionPoint.setId("id");
-		assertTrue("5.4 Extension Point - setId", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extensionPoint.setParentPluginDescriptor(new PluginDescriptor());
-		assertTrue("5.5 Extension Point - setParentPluginDescriptor", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		extensionPoint.setSchema("schema");
-		assertTrue("5.6 Extension Point - setSchema", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-/*  readOnlyLibrary
- *  This method ensures that once the registry is marked as read-only, library
- *  elements in the registry cannot be written to.  This method is called as
- *  part of the test readOnlyTest.
- */
-public void readOnlyLibrary(Library library) {
-
-	// Now check all methods that can write to a Library
-	assertTrue("4.1 Library marked", library.isReadOnly());
-	try {
-		library.setName("name");
-		assertTrue("4.2 Plugin - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		library.setExports(new String[1]);
-		assertTrue("4.3 Library - setExports", true);
-	} catch (RuntimeException runExcept) {
-	}
-
-}
-/*  readOnlyPlugin
- *  This method ensures that once the registry is marked as read-only, plugin 
- *  descriptor elements in the registry cannot be written to.  This method is
- *  called in the test readOnlyTest.
- */
-public void readOnlyPlugin(PluginDescriptor plugin) {
-	// Check to ensure we cannot write to this plugin
-	assertTrue("3.1 Plugin marked", plugin.isReadOnly());
-	// Now check all methods that can write to a PluginDescriptor
-	try {
-		plugin.setName("name");
-		assertTrue("3.2 Plugin - setName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setDeclaredExtensionPoints(new ExtensionPointModel[1]);
-		assertTrue("3.3 Plugin - setDeclaredExtensionPoints", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setDeclaredExtensions(new ExtensionModel[1]);
-		assertTrue("3.4 Plugin - setDeclaredExtensions", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setId("id");
-		assertTrue("3.5 Plugin - setId", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setLocation("location");
-		assertTrue("3.6 Plugin - setLocation", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setPluginClass("pluginClass");
-		assertTrue("3.7 Plugin - setPluginClass", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setRegistry(new PluginRegistry());
-		assertTrue("3.8 Plugin - setRegistry", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setRequires(new PluginPrerequisiteModel[1]);
-		assertTrue("3.9 Plugin - setRequires", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setRuntime(new LibraryModel[1]);
-		assertTrue("3.10 Plugin - setRuntime", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setProviderName("providerName");
-		assertTrue("3.11 Plugin - setVendorName", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		plugin.setVersion("version");
-		assertTrue("3.12 Plugin - setVersion", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-/*  readOnlyRegistry
- *  This method ensures that once the registry is marked as read-only, registry
- *  elements cannot be written to.  This method is called from the test readOnlyTest
- */
-public void readOnlyRegistry(PluginRegistry registry) {
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	// Check to ensure we cannot write to the registry
-	assertTrue("2.1 Registry marked", registry.isReadOnly());
-	// Now check all methods that can write to a PluginRegistry
-	try {
-		registry.addPlugin(pluginList[0]);
-		assertTrue("2.2 PluginRegistry - addPlugin", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		registry.removePlugin(pluginList[0].getId(), pluginList[0].getVersion());
-		assertTrue("2.3 PluginRegistry - removePlugin", true);
-	} catch (RuntimeException runExcept) {
-	}
-	try {
-		registry.removePlugins(pluginList[0].getId());
-		assertTrue("2.4 PluginRegistry - removePlugins", true);
-	} catch (RuntimeException runExcept) {
-	}
-}
-public String[] readOnlySetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
-	plugin.setRequires(pluginRequires);
-
-	Library[] pluginRuntime = new Library[1];
-	for (int i = 0; i < pluginRuntime.length; i++) {
-		pluginRuntime[i] = new Library();
-	}
-	pluginRuntime[0].setName("runtime.jar");
-	plugin.setRuntime(pluginRuntime);
-
-	Extension[] pluginExtensions = new Extension[1];
-	for (int i = 0; i < pluginExtensions.length; i++) {
-		pluginExtensions[i] = new Extension();
-		pluginExtensions[i].setParentPluginDescriptor(plugin);
-	}
-	pluginExtensions[0].setName("First Extension");
-	plugin.setDeclaredExtensions(pluginExtensions);
-	ConfigurationElement[] subElements = new ConfigurationElement[1];
-	for (int i = 0; i < subElements.length; i++) {
-		subElements[i] = new ConfigurationElement();
-		subElements[i].setParent(pluginExtensions[0]);
-	}
-	subElements[0].setName("FirstSubelement");
-	ConfigurationProperty[] properties = new ConfigurationProperty[1];
-	for (int i = 0; i < properties.length; i++) {
-		properties[i] = new ConfigurationProperty();
-	}
-	properties[0].setName("FirstProperty");
-	properties[0].setValue("FirstValue");
-	subElements[0].setProperties(properties);
-	pluginExtensions[0].setSubElements(subElements);
-
-	ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
-	for (int i = 0; i < pluginExtensionPoints.length; i++) {
-		pluginExtensionPoints[i] = new ExtensionPoint();
-	}
-	pluginExtensionPoints[0].setName("First Extension Point");
-	plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  readOnlyTest
- *  This test ensures that once the registry is marked as read-only, elements
- *  in the registry cannot be written to
- */
-public void readOnlyTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = readOnlySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Mark the registry as readonly.  This should filter down to all elements
-	// in the registry too.
-	registry.markReadOnly();
-
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
-	// Check to ensure we cannot write to the registry
-	readOnlyRegistry(registry);
-
-	// Check to ensure we cannot write to this plugin
-	readOnlyPlugin((PluginDescriptor) pluginList[0]);
-
-	// Check to ensure we cannot write to the runtime elements
-	LibraryModel[] libraries = pluginList[0].getRuntime();
-	readOnlyLibrary((Library) libraries[0]);
-
-	// Check to ensure we cannot write to the extension point elements
-	ExtensionPointModel[] extensionPoints = pluginList[0].getDeclaredExtensionPoints();
-	readOnlyExtensionPoint((ExtensionPoint) extensionPoints[0]);
-
-	// Check to ensure we cannot write to the extension elements
-	ExtensionModel[] extensions = pluginList[0].getDeclaredExtensions();
-	readOnlyExtension((Extension) extensions[0]);
-
-	// Check to ensure we cannot write to the configuration elements
-	ConfigurationElementModel[] subElements = extensions[0].getSubElements();
-	readOnlyConfigurationElement((ConfigurationElement) subElements[0]);
-
-	// Check to ensure we cannot write to the configuration property elements
-	ConfigurationPropertyModel[] properties = subElements[0].getProperties();
-	readOnlyConfigurationProperty((ConfigurationProperty) properties[0]);
-
-	factory = null;
-}
-public String[] registrySetup() {
-	PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("aPlugin");
-	plugin.setId("org.eclipse.plugin1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[0] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("anotherPlugin");
-	plugin.setId("org.eclipse.plugin2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("3.0");
-	pluginList[1] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("aThirdPlugin");
-	plugin.setId("org.eclipse.plugin3");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("2.0");
-	pluginList[2] = plugin;
-
-	plugin = new PluginDescriptor();
-	plugin.setName("aFourthPlugin");
-	plugin.setId("org.eclipse.plugin4");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	pluginList[3] = plugin;
-
-	String[] localXMLFiles = new String[pluginList.length];
-	for (int i = 0; i < pluginList.length; i++) {
-		ByteArrayOutputStream fs;
-		fs = new ByteArrayOutputStream();
-		PrintWriter w = new PrintWriter(fs);
-		RegistryWriter regWriter = new RegistryWriter();
-		regWriter.writePluginDescriptor(plugin, w, 0);
-		w.flush();
-		w.close();
-
-		localXMLFiles[i] = fs.toString();
-	}
-
-	return localXMLFiles;
-}
-/*  registryTest
- *  Tests to ensure we create plugin registries and populate them correctly.
- */
-public void registryTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = registrySetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertEquals("1.3 Right number of plugin descriptors", pluginList.length, localXMLFiles.length);
-	assertNotNull("1.4 Sane return value", ROPluginList);
-	assertNotNull("1.5 Sane plugin descriptor", ROPluginList[0]);
-	assertEquals("1.6 Right number of plugin descriptors", ROPluginList.length, localXMLFiles.length);
-
-	factory = null;
-}
-public String[] requiresSetup() {
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-
-	PluginPrerequisite[] pluginRequires = new PluginPrerequisite[3];
-	for (int i = 0; i < pluginRequires.length; i++) {
-		pluginRequires[i] = new PluginPrerequisite();
-	}
-	pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
-	pluginRequires[0].setVersion("4");
-	pluginRequires[0].setExport(true);
-	pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	pluginRequires[1].setPlugin("org.apache.xerces");
-	pluginRequires[2].setPlugin("com.ibm.eclipse.core.resources");
-	pluginRequires[2].setVersion("3");
-	plugin.setRequires(pluginRequires);
-
-	ByteArrayOutputStream fs;
-	fs = new ByteArrayOutputStream();
-	PrintWriter w = new PrintWriter(fs);
-	RegistryWriter regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-
-	String[] localXMLFiles = new String[1];
-	localXMLFiles[0] = fs.toString();
-	return localXMLFiles;
-}
-/*  requiresTest
- *  Tests to ensure we create plugin prerequisite entries and populate them correctly.
- */
-public void requiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[] localXMLFiles = requiresSetup();
-	registry = doParsing(factory, localXMLFiles);
-
-	// Check both the read-only accessors and the read-write accessors
-	PluginDescriptorModel[] pluginList = registry.getPlugins();
-	IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
-	// First check to make sure we got something back
-	assertNotNull("1.1 Sane return value", pluginList);
-	assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-	assertNotNull("1.3 Sane return value", ROPluginList);
-	assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
-	// Now check that the plugin we got really reflects what's in the xml stream
-	assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
-	assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
-	assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
-	assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
-	assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
-	assertNull("2.6 Runtime List", pluginList[0].getRuntime());
-	assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
-	assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
-	assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
-	assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
-	// Repeat for read-only accessors
-	assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
-	assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
-	assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
-	assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-//	assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
-	assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
-	assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
-	assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
-	assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
-	// Now check the plugin prerequisite elements
-	PluginPrerequisiteModel[] reqList = pluginList[0].getRequires();
-	IPluginPrerequisite[] ROReqList = ROPluginList[0].getPluginPrerequisites();
-	assertNotNull("4.1 Requires list null", reqList);
-	assertEquals("4.2 Number of requires elements", reqList.length, 3);
-	assertNotNull("4.3 Requires list null", ROReqList);
-	assertEquals("4.4 Number of requires elements", ROReqList.length, 3);
-
-	PluginPrerequisiteModel[] originalRequires = plugin.getRequires();
-
-	// LIBRARY WRITE DOESN'T YET SUPPORT EXACT AND COMPATIBLE MATCHES
-
-	// Make sure the values in this requires element are correct
-	assertEquals("5.1 Requires plugin", reqList[0].getPlugin(), originalRequires[0].getPlugin());
-	assertEquals("5.2 Requires version", reqList[0].getVersion(), originalRequires[0].getVersion());
-	assertTrue("5.3 Requires exact match", reqList[0].getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	assertTrue("5.4 Requires export", reqList[0].getExport());
-	assertEquals("5.5 Requires plugin", ROReqList[0].getUniqueIdentifier(), originalRequires[0].getPlugin());
-	assertEquals("5.6 Requires version", ROReqList[0].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[0]).getVersionIdentifier());
-	assertTrue("5.7 Requires exact match", ROReqList[0].isMatchedAsExact());
-	assertTrue("5.8 Requires compatible match", !ROReqList[0].isMatchedAsCompatible());
-	assertTrue("5.9 Requires export", ROReqList[0].isExported());
-
-	// And check the 2nd requires element too
-	assertEquals("6.1 Requires plugin", reqList[1].getPlugin(), originalRequires[1].getPlugin());
-	assertEquals("6.2 Requires plugin", ROReqList[1].getUniqueIdentifier(), originalRequires[1].getPlugin());
-
-	// And finally, the 3rd requires element
-	assertEquals("7.1 Requires plugin", reqList[2].getPlugin(), originalRequires[2].getPlugin());
-	assertEquals("7.2 Requires version", reqList[2].getVersion(), originalRequires[2].getVersion());
-	assertTrue("7.3 Requires exact match", reqList[2].getMatchByte() != PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	assertTrue("7.4 Requires export", !reqList[2].getExport());
-	assertEquals("7.5 Requires plugin", ROReqList[2].getUniqueIdentifier(), originalRequires[2].getPlugin());
-	assertEquals("7.6 Requires version", ROReqList[2].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[2]).getVersionIdentifier());
-	assertTrue("7.7 Requires exact match", !ROReqList[2].isMatchedAsExact());
-	assertTrue("7.8 Requires compatible match", ROReqList[2].isMatchedAsCompatible());
-	assertTrue("7.9 Requires export", !ROReqList[2].isExported());
-
-	factory = null;
-}
-public String[][] pluginRequiresSetup() {
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[3][1];
-	
-	// Create a plugin with no name
-	plugin = new PluginDescriptor();
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	plugin.setPluginClass("someclass");
-
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-	
-	// Create a plugin with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("someName");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	plugin.setPluginClass("someclass");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-	
-	// Create a plugin with no version
-	plugin = new PluginDescriptor();
-	plugin.setName("someName");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setPluginClass("someclass");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][0] = fs.toString();
-	
-	return localXMLFiles;
-}
-public void allRequiresHelper(InternalFactory factory, String[][] localXMLFiles, String errorPrefix, boolean fragmentTest) {
-	if (localXMLFiles == null)
-		return;
-	String[] currentParseString;
-	for (int i = 0; i < localXMLFiles.length; i++) {
-		// We have made no attempt to create a hierarchy of
-		// plugins for this test.  We have just created a
-		// bunch of plugins, each with a missing 'required'
-		// field.  If we try to create and resolve one registry
-		// with all of these plugins, the resolver will be 
-		// unable to determine a root plugin and will fail.
-		// Therefore, create a separate registry for each plugin
-		// and resolve it separate from the other plugins.
-		currentParseString = localXMLFiles[i];
-		registry = doParsing(factory, currentParseString);
-		// Don't trim the disabled plugins
-		IStatus resolveStatus = registry.resolve(false, true);
-		assertTrue(errorPrefix + ".0." + i + " Resolve - " + resolveStatus.getMessage(), !resolveStatus.isOK());
-	
-		// The plugin should be disabled
-		PluginDescriptorModel[] pluginList = registry.getPlugins();
-		assertNotNull (errorPrefix + ".1." + i + " No plugins", pluginList);
-		assertEquals (errorPrefix + ".2." + i + " Not 1 plugin only", pluginList.length, 1);
-		if (fragmentTest) {
-			// The plugin won't be disabled but it should not have
-			// a fragment.
-			assertNull(errorPrefix + ".3." + i + " Fragment exists", pluginList[0].getFragments());
-		} else {
-			assertTrue(errorPrefix + ".4." + i + " Plugin enabled", !pluginList[0].getEnabled());
-		}
-	}
-}
-/*  allRequiresTest
- *  Test to ensure that plugins, etc. missing any of the required
- *  components are disabled.
- */
-public void allRequiresTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	String[][] localXMLFiles = pluginRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "1", false);
-	localXMLFiles = fragmentRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "2", true);
-	localXMLFiles = requiresRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "3", false);
-	localXMLFiles = libraryRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "4", false);
-	localXMLFiles = extensionRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "5", false);
-	localXMLFiles = extensionPointRequiresSetup();
-	allRequiresHelper(factory, localXMLFiles, "6", false);
-}
-public String[][] fragmentRequiresSetup() {
-	FragmentDescriptor fragment;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[5][2];
-
-	// Create a fragment with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][1] = fs.toString();
-	
-	// Create a fragment with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][1] = fs.toString();
-	
-	// Create a fragment with no version
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[2][1] = fs.toString();
-	
-	// Create a fragment with no plugin
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPluginVersion("1.0");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[3][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[3][1] = fs.toString();
-	
-	// Create a fragment with no plugin version
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	fragment = new FragmentDescriptor();
-	fragment.setName("fragmentName");
-	fragment.setId("fragmentId");
-	fragment.setVersion("2.2");
-	fragment.setPlugin("com.ibm.dav4j");
-	fragment.setProviderName("someoneElse");
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[4][0] = fs.toString();
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginFragment(fragment, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[4][1] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] requiresRequiresSetup() {
-	PluginPrerequisite requires;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	PluginPrerequisite[] requiresList = new PluginPrerequisite[1];
-
-	// Create a prerequisite with no plugin
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	requires = new PluginPrerequisite();
-	requires.setVersion("2.2");
-	requires.setOptional(true);
-	requires.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-	requires.setExport(true);
-	requiresList[0] = requires;
-	plugin.setRequires(requiresList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] extensionRequiresSetup() {
-	Extension extension;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	Extension[] extensionList = new Extension[1];
-
-	// Create an extension with no point
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extension = new Extension();
-	extension.setName("extensionName");
-	extension.setId("extensionId");
-	extensionList[0] = extension;
-	plugin.setDeclaredExtensions(extensionList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] extensionPointRequiresSetup() {
-	ExtensionPoint extensionPoint;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[2][1];
-	ExtensionPoint[] extensionPointList = new ExtensionPoint[1];
-
-	// Create an extension point with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extensionPoint = new ExtensionPoint();
-	extensionPoint.setId("extensionPointId");
-	extensionPoint.setSchema("schema");
-	extensionPointList[0] = extensionPoint;
-	plugin.setDeclaredExtensionPoints(extensionPointList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	// Create an extension point with no id
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	extensionPoint = new ExtensionPoint();
-	extensionPoint.setName("extensionPointName");
-	extensionPoint.setSchema("schema");
-	extensionPointList = new ExtensionPoint[1];
-	extensionPointList[0] = extensionPoint;
-	plugin.setDeclaredExtensionPoints(extensionPointList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[][] libraryRequiresSetup() {
-	Library library;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[][] localXMLFiles = new String[1][1];
-	Library[] libraryList = new Library[1];
-
-	// Create a library with no name
-	plugin = new PluginDescriptor();
-	plugin.setName("A simple test");
-	plugin.setId("com.ibm.dav4j");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	library = new Library();
-	String[] exportList = new String[1];
-	String exportString = new String("*");
-	exportList[0] = exportString;
-	library.setExports(exportList);
-	libraryList[0] = library;
-	plugin.setRuntime(libraryList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0][0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite1Setup() {
-	// Create a plugin with one prerequisite which
-	// does not exist.  This should NOT resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[1];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq1");
-	plugin.setId("softPrereqId1");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite2Setup() {
-	// Create a plugin with one prerequisite which
-	// has a prerequisite which does not exist.
-	// This should NOT resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[2];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq2");
-	plugin.setId("softPrereqId2");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("softPrereqExists");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	plugin = new PluginDescriptor();
-	plugin.setName("firstPrereq");
-	plugin.setId("softPrereqExists");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite3Setup() {
-	// Create a plugin with one prerequisite which
-	// does not exist but which is optional.
-	// This SHOULD resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[1];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq3");
-	plugin.setId("softPrereqId3");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	return localXMLFiles;
-}
-public String[] softPrerequisite4Setup() {
-	// Create a plugin with one prerequisite which
-	// has a prerequisite which does not exist but which is
-	// optional.  This SHOULD resolve.
-	PluginPrerequisiteModel prerequisite;
-	ByteArrayOutputStream fs;
-	PrintWriter w;
-	RegistryWriter regWriter;
-	String[] localXMLFiles = new String[2];
-	PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
-	plugin = new PluginDescriptor();
-	plugin.setName("softPrereq4");
-	plugin.setId("softPrereqId4");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("softPrereqExists");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[0] = fs.toString();
-
-	plugin = new PluginDescriptor();
-	plugin.setName("firstPrereq");
-	plugin.setId("softPrereqExists");
-	plugin.setProviderName("IBM");
-	plugin.setVersion("1.0");
-	prerequisite = new PluginPrerequisiteModel();
-	prerequisite.setPlugin("nonExistant");
-	prerequisite.setOptional(true);
-	prerequisiteList[0] = prerequisite;
-	plugin.setRequires(prerequisiteList);
-	fs = new ByteArrayOutputStream();
-	w = new PrintWriter(fs);
-	regWriter = new RegistryWriter();
-	regWriter.writePluginDescriptor(plugin, w, 0);
-	w.flush();
-	w.close();
-	localXMLFiles[1] = fs.toString();
-
-	return localXMLFiles;
-}
-public void allPrerequisiteHelper(InternalFactory factory, String[] localXMLFiles, String errorPrefix, boolean shouldResolve) {
-	if (localXMLFiles == null)
-		return;
-	registry = doParsing(factory, localXMLFiles);
-	IStatus resolveStatus = registry.resolve(true, true);
-	if (shouldResolve) {
-		// This registry should resolve fine.
-		assertTrue(errorPrefix + ".0 Resolve - " + resolveStatus.getMessage(), resolveStatus.isOK());
-	} else {
-		// This registry should NOT resolve
-		assertTrue(errorPrefix + ".0 Resolve worked", !resolveStatus.isOK());
-	}
-	
-}
-public void allPrerequisiteTest() {
-	MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
-	factory = new InternalFactory(problems);
-
-	// One plugin with non-existant prerequisite - not optional
-	String[] localXMLFiles = softPrerequisite1Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "1", false);
-	// 2 nested plugins with non-existant prereq on one - not optional
-	localXMLFiles = softPrerequisite2Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "2", false);
-	// 1 plugin with non-existant prereq - optional
-	localXMLFiles = softPrerequisite3Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "3", true);
-	// 2 nested plugins with non-existant prereq on one - optional
-	localXMLFiles = softPrerequisite4Setup();
-	allPrerequisiteHelper(factory, localXMLFiles, "4", true);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PluginTests("registryTest"));
-	suite.addTest(new PluginTests("pluginTest"));
-	suite.addTest(new PluginTests("libraryTest"));
-	suite.addTest(new PluginTests("requiresTest"));
-	suite.addTest(new PluginTests("extensionPointTest"));
-	suite.addTest(new PluginTests("extensionTest"));
-	suite.addTest(new PluginTests("readOnlyTest"));
-	suite.addTest(new PluginTests("extExtPtLinkTest"));
-	suite.addTest(new PluginTests("PR1GBZ0AWTest1"));
-	suite.addTest(new PluginTests("PR1GBZ0AWTest2"));
-	suite.addTest(new PluginTests("allRequiresTest"));
-	suite.addTest(new PluginTests("pluginDescriptorTest"));
-	// suite.addTest(new BasicXMLTest("allPrerequisiteTest"));
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
deleted file mode 100644
index 322849c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
+++ /dev/null
@@ -1,1048 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-
-public class PreferencesRuntimeTests extends PrimaryFeaturePreferenceHelperTests {
-	
-public PreferencesRuntimeTests() {
-	super(null);
-}
-public PreferencesRuntimeTests(String name) {
-	super(name);
-}
-
-public static void copyFile (String sourceName, String destName) {
-	// A crude mechanism for creating a preference file
-	SafeFileInputStream sourceIn = null;
-	SafeFileOutputStream destOut = null;
-	try {
-		sourceIn = new SafeFileInputStream(sourceName);
-		destOut = new SafeFileOutputStream(destName);
-		int buffer = sourceIn.read();
-		while (buffer != -1) {
-			destOut.write(buffer);
-			buffer = sourceIn.read();
-		}
-	} catch (IOException ioe) {
-		fail("0.0 Trouble creating file " + destName + " from original file " + sourceName + ".");
-	} finally {
-		try {
-			sourceIn.close();
-			destOut.close();
-		} catch (IOException e) {
-			fail("0.1 Trouble closing file " + destName + " or " + sourceName + ".");
-		}
-	}
-}
-
-public void testPluginPrefs() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	// No preferences for this plugin
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("noPreferencesPlugin");
-	Preferences prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 No default preferences", defaultNames.length == 0);
-	assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-
-	//-----------------------------------------------------------	
-	// Preferences in the plugin state area
-	resPlugin = registry.getPluginDescriptor("stateLocalPreferences");
-	// Move the preferences file into position
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.2 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("2.0 No default preferences", defaultNames.length == 0);
-	assertTrue("2.1 One explicit preference", prefNames.length == 1);
-	assertTrue("2.2 Preference name", prefNames[0].equals("StateLocalPreference"));
-	assertTrue("2.3 Preference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area"));
-
-	//-----------------------------------------------------------	
-	// Preferences in the local plugin area
-	resPlugin = registry.getPluginDescriptor("pluginLocalPreferences");
-	prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.3 core exception from getPlugin");
-	}
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("3.0 One default preferences", defaultNames.length == 1);
-	assertTrue("3.1 No explicit preferences", prefNames.length == 0);
-	assertTrue("3.2 Default preference name", defaultNames[0].equals("PluginLocalPreference"));
-	assertTrue("3.3 Default preference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory"));
-	
-	//-----------------------------------------------------------	
-	// Preferences in the primary feature plugin.
-	// There are are preferences related to this particular plugin
-	// and other plugins
-	resPlugin = registry.getPluginDescriptor("primaryFeaturePluginPreferences");
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	copyFile(sourceName, destName);
-	prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.4 core exception from getPlugin");
-	}
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("4.0 One default preference", defaultNames.length == 1);
-	assertTrue("4.1 No explicit preferences", prefNames.length == 0);
-	assertTrue("4.2 Default preference name", defaultNames[0].equals("PrimaryFeaturePreference"));
-	assertTrue("4.3 Default preference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory"));
-		
-	//-----------------------------------------------------------	
-	// Preferences in the plugin state area and in the local
-	// plugin area
-	resPlugin = registry.getPluginDescriptor("stateAndPluginLocal");
-	runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.5 core exception from getPlugin");
-	}
-	destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	prefs = null;
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("5.0 Two default preferences", defaultNames.length == 2);
-	assertTrue("5.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	boolean foundStateLocalPreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonStateAndPluginLocalPreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("5.2 Got right default preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	boolean foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonStateAndPluginLocalPreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("5.3 Got right explicit preference names",
-		foundPluginLocalPreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("5.4 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPluginLocal"));
-	assertTrue("5.5 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of plugin stateAndPluginLocal"));
-	assertTrue("5.6 commonStateAndPluginLocalPreference value",
-		prefs.getString("commonStateAndPluginLocalPreference").equals("Common preference from the plugin state area of plugin stateAndPluginLocal"));
-
-	//-----------------------------------------------------------
-	// Preferences in the plugin state area and the primary 
-	// feature plugin
-	resPlugin = registry.getPluginDescriptor("stateAndPrimaryFeature");
-	runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.6 core exception from getPlugin");
-	}
-	destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	copyFile(sourceName, destName);
-	prefs = null;
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("6.0 Two default preferences", defaultNames.length == 2);
-	assertTrue("6.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	foundStateLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonStateAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("6.2 Got right default preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	boolean foundPrimaryFeaturePreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-		else if (defaultNames[i].equals("commonStateAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("6.3 Got right explicit preference names",
-		foundPrimaryFeaturePreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("6.4 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPrimaryFeature"));
-	assertTrue("6.5 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndPrimaryFeature"));
-	assertTrue("6.6 commonStateAndPluginLocalPreference value",
-		prefs.getString("commonStateAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndPrimaryFeature"));
-		
-	//-----------------------------------------------------------	
-	// Preferences in the local plugin area and the primary feature
-	// plugin
-	resPlugin = registry.getPluginDescriptor("pluginLocalAndPrimaryFeaturePreferences");
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	copyFile(sourceName, destName);
-	prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.7 core exception from getPlugin");
-	}
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("7.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("7.1 No explicit preferences", prefNames.length == 0);
-	// Do we have the right names for the default preferences?
-	foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	foundPrimaryFeaturePreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("7.2 Got right default preference names",
-		foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("7.3 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin pluginLocalAndPrimaryFeaturePreferences"));
-	assertTrue("7.4 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin pluginLocalAndPrimaryFeaturePreferences"));
-	assertTrue("7.5 commonPluginLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the primary feature of plugin pluginLocalAndPrimaryFeaturePreferences"));
-	
-	//-----------------------------------------------------------	
-	// Preferences in the plugin state area, the local plugin area
-	// and the primary feature plugin
-	resPlugin = registry.getPluginDescriptor("stateAndPluginLocalAndPrimaryFeature");
-	runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.8 core exception from getPlugin");
-	}
-	destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destName = destName.substring(destName.indexOf(':') + 1);
-	copyFile(sourceName, destName);
-	prefs = null;
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("8.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("8.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	foundStateLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonStateAndPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("8.2 Got right default preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	foundPrimaryFeaturePreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("PluginLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonStateAndPluginLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("8.3 Got right default preference names",
-		foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("8.3 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("8.4 PluginLocalPreference value",
-		prefs.getString("PluginLocalPreference").equals("From the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("8.5 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndPluginLocalAndPrimaryFeature"));
-	assertTrue("8.6 commonStateAndPluginLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonStateAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature"));
-}
-
-public void testFragmentPrefs() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	//-----------------------------------------------------------	
-	// Preferences in the local area for a fragment of this 
-	// plugin
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("fragmentLocalPreferencesPlugin");
-	Preferences prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.1 core exception from getPlugin");
-	}
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.0 One default preferences", defaultNames.length == 1);
-	assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-	assertTrue("1.2 Default preference name", defaultNames[0].equals("FragmentLocalPreference"));
-	assertTrue("1.3 Default preference value",
-		prefs.getString("FragmentLocalPreference").equals("From the local fragment directory"));
-	
-		
-	//-----------------------------------------------------------	
-	// Preferences in the plugin state area and in the local
-	// area for a fragment of this plugin
-	resPlugin = registry.getPluginDescriptor("stateAndFragmentLocalPlugin");
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.2 core exception from getPlugin");
-	}
-	String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	String sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	prefs = null;
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("2.0 Two default preferences", defaultNames.length == 2);
-	assertTrue("2.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	boolean foundStateLocalPreference = false;
-	boolean foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonStateAndFragmentLocalPreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("2.2 Got right default preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	boolean foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("FragmentLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonStateAndFragmentLocalPreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("2.3 Got right explicit preference names",
-		foundPluginLocalPreference && foundCommonPreference);
-	// Check preference values
-	assertTrue("2.4 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of the fragment for stateAndFragmentLocal"));
-	assertTrue("2.5 FragmentLocalPreference value",
-		prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of stateAndFragmentLocal"));
-	assertTrue("2.6 commonStateAndFragmentLocalPreference value",
-		prefs.getString("commonStateAndFragmentLocalPreference").equals("Common preference from the plugin state area for stateAndFragmentLocal"));
-
-	//-----------------------------------------------------------	
-	// Preferences in the local area for a fragment of this plugin
-	// and the primary feature
-	resPlugin = registry.getPluginDescriptor("fragmentLocalAndPrimaryFeaturePlugin");
-	sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
-	destString = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destString = destString.substring(destString.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	prefs = null;
-	try {
-		prefs = resPlugin.getPlugin().getPluginPreferences();
-	} catch (CoreException ce) {
-		fail("0.3 core exception from getPlugin");
-	}
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("3.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("3.1 No explicit preferences", prefNames.length == 0);
-	// Do we have the right names for the default preferences?
-	foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	boolean foundPrimaryFeaturePreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("FragmentLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonFragmentLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("3.2 Got right default preference names",
-		foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("3.3 FragmentLocalPreference value",
-		prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of the plugin fragmentLocalAndPrimaryFeaturePlugin"));
-	assertTrue("3.4 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin fragmentLocalAndPrimaryFeaturePlugin"));
-	assertTrue("3.5 commonFragmentLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonFragmentLocalAndPrimaryFeaturePreference").equals("Common preference from the primary feature of plugin fragmentLocalAndPrimaryFeaturePlugin"));
-	
-	//-----------------------------------------------------------	
-	// Preferences in the plugin state area, the local area for a
-	// fragment of this plugin and the primary feature 
-	resPlugin = registry.getPluginDescriptor("stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin");
-	runtimePlugin = null;
-	try {
-		runtimePlugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("0.4 core exception from getPlugin");
-	}
-	destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
-	// get rid of the protocol
-	sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalpref_store.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalplugin_customization.ini";
-	sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
-	destString = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
-		"plugin_customization.ini";
-	destString = destString.substring(destString.indexOf(':') + 1);
-	copyFile(sourceName, destString);
-	prefs = null;
-	prefs = runtimePlugin.getPluginPreferences();
-	defaultNames = prefs.defaultPropertyNames();
-	prefNames = prefs.propertyNames();
-	assertTrue("4.0 Three default preferences", defaultNames.length == 3);
-	assertTrue("4.1 Two explicit preferences", prefNames.length == 2);
-	// Do we have the right names for the explicit preferences?
-	foundStateLocalPreference = false;
-	foundCommonPreference = false;
-	for (int i = 0; i < prefNames.length; i++) {
-		if (prefNames[i].equals("StateLocalPreference"))
-			foundStateLocalPreference = true;
-		else if (prefNames[i].equals("commonStateAndFragmentLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-	}
-	assertTrue("4.2 Got right default preference names",
-		foundStateLocalPreference && foundCommonPreference);
-	// Do we have the right names for the default preferences?
-	foundPluginLocalPreference = false;
-	foundCommonPreference = false;
-	foundPrimaryFeaturePreference = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("FragmentLocalPreference"))
-			foundPluginLocalPreference = true;
-		else if (defaultNames[i].equals("commonStateAndFragmentLocalAndPrimaryFeaturePreference"))
-			foundCommonPreference = true;
-		else if (defaultNames[i].equals("PrimaryFeaturePreference"))
-			foundPrimaryFeaturePreference = true;
-	}
-	assertTrue("4.3 Got right default preference names",
-		foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
-	// Check preference values
-	assertTrue("4.3 StateLocalPreference value",
-		prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
-	assertTrue("4.4 FragmentLocalPreference value",
-		prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
-	assertTrue("4.5 PrimaryFeaturePreference value",
-		prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
-	assertTrue("4.6 commonStateAndFragmentLocalAndPrimaryFeaturePreference value",
-		prefs.getString("commonStateAndFragmentLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
-}
-	
-private boolean buildPluginTestFile(String pluginId, String pluginSubDir, String basePrefName,
-	String untransValue, String transValue, String prefixId) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
-	URL pluginRoot = plugin.find(new Path("./"));
-	File transfile = null;
-	if (pluginSubDir != null) {
-		transfile = new File(pluginRoot.getFile() + pluginSubDir);
-		transfile.mkdirs();
-	} else 
-		transfile = new File(pluginRoot.getFile());
-	File rootfile = new File(pluginRoot.getFile());
-	// Now build up the preferences file
-	File prefFile = new File(rootfile, basePrefName + ".ini");
-	try {
-		FileOutputStream fs = new FileOutputStream(prefFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			if (prefixId != null) {
-				w.println(prefixId + "/TranslatedPreference=%translateThis");
-				w.println(prefixId + "/UntranslatedPreference = " + untransValue);
-			} else {
-				w.println("TranslatedPreference=%translateThis");
-				w.println("UntranslatedPreference = " + untransValue);
-			}
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to preference file " + prefFile.getPath());
-		return false;
-	}
-	// Now build up the translation file
-	File prefTransFile = new File(transfile, basePrefName + ".properties");
-	try {
-		FileOutputStream fs = new FileOutputStream(prefTransFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			w.println("translateThis = " + transValue);
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to translation file " + prefTransFile.getPath());
-		return false;
-	}
-	return true;
-}
-
-private boolean buildFragmentTestFile(String pluginId,
-	String pluginSubDir, String basePrefName,
-	String untransValue, String transValue, String prefixId) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
-	PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
-	PluginFragmentModel testFragment = null;
-	for (int i = 0; (i < fragments.length) && (testFragment == null); i++) {
-		if (fragments[i].getId().equals("primaryFeatureFragmentTranslations"))
-			testFragment = fragments[i];
-	}
-	// Should only be one fragment
-	assertNotNull("0.2 Can't find test fragment", testFragment);
-	URL fragmentRoot = null;
-	try {
-		fragmentRoot = new URL(testFragment.getLocation());
-	} catch (MalformedURLException badURL) {
-		return false;
-	}
-	URL rootDirectory = null;
-	try {
-		rootDirectory = new URL(((PluginDescriptor)plugin).getLocation());
-	} catch (MalformedURLException badURL) {
-		return false;
-	}
-	File file = null;
-	if (pluginSubDir != null) {
-		file = new File(fragmentRoot.getFile() + pluginSubDir);
-		file.mkdirs();
-	} else 
-		file = new File(fragmentRoot.getFile());
-	// Now build up the preference file
-	File prefFile = new File(new File(rootDirectory.getFile()), basePrefName + ".ini");
-	try {
-		FileOutputStream fs = new FileOutputStream(prefFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			if (prefixId != null) {
-				w.println(prefixId + "/TranslatedPreference=%translateThis");
-				w.println(prefixId + "/UntranslatedPreference = " + untransValue);
-			} else {
-				w.println("TranslatedPreference=%translateThis");
-				w.println("UntranslatedPreference = " + untransValue);
-			}
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to preference file " + prefFile.getPath());
-		return false;
-	}
-	// Now build up the translation file
-	File prefTransFile = new File(file, basePrefName + ".properties");
-	try {
-		FileOutputStream fs = new FileOutputStream(prefTransFile);
-		PrintWriter w = new PrintWriter(fs);
-		try {
-			w.println("translateThis = " + transValue);
-			w.flush();
-		} finally {
-			w.close();
-		}
-	} catch (IOException ioe) {
-		System.out.println ("Unable to write to translation file " + prefTransFile.getPath());
-		return false;
-	}
-	return true;
-}
-
-private String buildNLSubdirectory(int chopSegment) {
-	// Build up nl related directories and test files
-	String nl = BootLoader.getNL();
-	nl = nl.replace('_', '/');
-	// Chop off the number of segments stated
-	int i = chopSegment;
-	while (nl.length() > 0 && i > 0) {
-		i--;
-		int idx = nl.lastIndexOf('/');
-		if (idx != -1)
-			nl = nl.substring(0, idx);
-		else 
-			nl = "";
-	}
-	if ((nl.length() == 0) && (i > 0))
-		// We couldn't get rid of all the segments we wanted to
-		return null;
-	return nl;
-}
-
-private Preferences getPreferences (String pluginId, String errorPrefix) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
-	Plugin runtimePlugin = null;
-	try {
-		runtimePlugin = plugin.getPlugin();
-	} catch (CoreException ce) {
-		fail(errorPrefix + ".1 Can't activate plugin " + pluginId + ce.toString());
-	}
-	assertNotNull(errorPrefix + ".1 Can't activate plugin " + pluginId);
-	Preferences prefs = runtimePlugin.getPluginPreferences();
-	return prefs;
-}
-
-private void verifyPreferences (String pluginId, Preferences prefs,
-	String errorPrefix, String untransValue, String transValue) {
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] explicitNames = prefs.propertyNames();
-	assertEquals(errorPrefix + ".0 Two default preferences", defaultNames.length, 2);
-	assertEquals(errorPrefix + ".1 No explicit preferences", explicitNames.length, 0);
-	boolean translatedPref = false;
-	boolean untranslatedPref = false;
-	for (int i = 0; i < defaultNames.length; i++) {
-		if (defaultNames[i].equals("TranslatedPreference"))
-			translatedPref = true;
-		else if (defaultNames[i].equals("UntranslatedPreference"))
-			untranslatedPref = true;
-	}
-	assertTrue(errorPrefix + ".2 Didn't find preference \"TranslatedPreference\"",
-		translatedPref);
-	assertTrue(errorPrefix + ".3 Didn't find preference \"UntranslatedPreference\"",
-		untranslatedPref);
-	// Now check the preference values
-	String value = prefs.getString("TranslatedPreference");
-	assertEquals(errorPrefix + ".4 Value of \"TranslatedPreference\"",
-		value, transValue);
-	value = prefs.getString("UntranslatedPreference");
-	assertEquals(errorPrefix + ".5 Value of \"UntranslatedPreference\"",
-		value, untransValue);
-}
-
-private void cleanupTestFiles(String pluginId, String fragmentId, String testDirectory, String prefFileName) {
-	IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
-	URL rootDir = null;
-	if (fragmentId == null) {
-		rootDir = plugin.find(new Path("./"));
-	} else {
-		PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
-		if (fragments.length != 1)
-			return;
-		try {
-			rootDir = new URL(fragments[0].getLocation());
-		} catch (MalformedURLException badURL) {
-			return;
-		}
-	}
-	if (rootDir == null)
-		return;
-	String rootString = rootDir.getFile();
-	if (testDirectory != null)
-		deleteDirectory(new File(rootString + "/" + testDirectory));
-	new File(rootString + "/" + prefFileName).delete();
-}
-
-public void testPFTranslationPluginRoot() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the root plugin directory.
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
-	assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
-	String rootDirectory = null;
-	try {
-		rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
-	} catch (MalformedURLException badURL) {
-		fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
-	}
-	try {
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin root directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " plugin root directory.";
-		IPath sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
-		File prefFile = sourcePath.toFile();
-		try {
-			FileOutputStream fs = new FileOutputStream(prefFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("primaryFeatureTranslations/TranslatedPreference=%translateThis");
-				w.println("primaryFeatureTranslations/UntranslatedPreference = " + untransValue);
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			fail ("Unable to write to preference file " + prefFile.getPath());
-		}
-		sourcePath = new Path(rootDirectory).append("plugin_customization.properties");
-		File prefTransFile = new File(sourcePath.toString());
-		try {
-			FileOutputStream fs = new FileOutputStream(prefTransFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("translateThis = " + transValue);
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			fail ("Unable to write to translation file " + prefTransFile.getPath());
-		}
-		Preferences prefs = getPreferences("primaryFeatureTranslations", "1");
-		verifyPreferences ("primaryFeatureTranslations", prefs, "1",
-			untransValue, transValue);
-	} finally {
-			cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.ini");
-			cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.properties");
-	}
-}
-
-public void testPFTranslationsPluginNL1 () {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the most specific nl directory
-	// below the primary feature plugin.
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	try {
-		String subDirectory = buildNLSubdirectory(0);
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		if (!buildPluginTestFile(primaryFeaturePluginId,
-			"nl/" + subDirectory, "plugin_customization", untransValue,
-			transValue, "primaryFeatureTranslations"))
-			// We don't expect this one to fail
-			fail ("0.2 Could not build nl preference data for testPFTranslationsPluginNL1");
-		else {
-			Preferences prefs = getPreferences("primaryFeatureTranslations", "2");
-			verifyPreferences("primaryFeatureTranslations", prefs, "2", untransValue, transValue);
-		}
-	} finally {
-			cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
-	}
-}
-
-public void testPFTranslationsPluginNL2() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the nl/<first_segment> directory
-	// below the primary feature plugin.  Note that if there is
-	// only one segment to the locale string, the test 
-	// testPFTranslationsPluginNL1 will have already done
-	// this.  In this case, this test will do nothing.
-	
-	String nl = BootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLSubdirectory(1);
-			String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-			String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-			if (!buildPluginTestFile(primaryFeaturePluginId,
-				"nl/" + subDirectory, "plugin_customization", untransValue,
-				transValue, "primaryFeatureTranslations"))
-				// We don't expect this one to fail
-				fail ("0.3 Could not build nl preference data for testPFTranslationsPluginNL2");
-			else {
-				Preferences prefs = getPreferences("primaryFeatureTranslations", "3");
-				verifyPreferences("primaryFeatureTranslations", prefs, "3", untransValue, transValue);
-			}
-		} finally {
-			cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
-		}
-	}
-}
-
-public void testPFTranslationsPluginNL3() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the nl/ directory
-	// below the primary feature plugin.  Note that these
-	// translations should not be found.
-	String nl = BootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	try {
-		String subDirectory = buildNLSubdirectory(localeSegments);
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		if (buildPluginTestFile(primaryFeaturePluginId,
-			"nl/" + subDirectory, "plugin_customization", untransValue,
-			transValue, "primaryFeatureTranslations"))
-		if (subDirectory == null)
-			// We don't expect this one to fail
-			fail ("0.4 Could not build nl preference data for testPFTranslationsPluginNL3");
-		else {
-			Preferences prefs = getPreferences("primaryFeatureTranslations", "4");
-				verifyPreferences("primaryFeatureTranslations", prefs, "4", untransValue, "%translateThis");
-		}
-	} finally {
-		cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
-	}
-}
-
-public void testPFTranslationFragmentRoot() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the root fragment directory.
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
-	assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
-	String rootDirectory = null;
-	String fragmentRootDirectory = null;
-	PluginFragmentModel[] fragments = ((PluginDescriptor)primaryFeatureDescriptor).getFragments();
-	PluginFragmentModel testFragment = null;
-	for (int i = 0; (i < fragments.length) && (testFragment == null); i++) {
-		if (fragments[i].getId().equals("primaryFeatureFragmentTranslations"))
-			testFragment = fragments[i];
-	}
-	assertNotNull("5.0 Can't find test fragment for primary feature", testFragment);
-	try {
-		fragmentRootDirectory = new URL(testFragment.getLocation()).getFile();
-	} catch (MalformedURLException badURL) {
-		fail("Bad URL created for " + testFragment.getLocation());
-	}
-	try {
-		rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
-	} catch (MalformedURLException badURL) {
-		fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
-	}
-	try {
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin root directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " fragment root directory.";
-		IPath sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
-		File prefFile = sourcePath.toFile();
-		try {
-			FileOutputStream fs = new FileOutputStream(prefFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("primaryFeatureTranslations/TranslatedPreference=%translateThis");
-				w.println("primaryFeatureTranslations/UntranslatedPreference = " + untransValue);
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			fail ("Unable to write to preference file " + prefFile.getPath());
-		}
-		sourcePath = new Path(fragmentRootDirectory).append("plugin_customization.properties");
-		File prefTransFile = new File(sourcePath.toString());
-		try {
-			FileOutputStream fs = new FileOutputStream(prefTransFile);
-			PrintWriter w = new PrintWriter(fs);
-			try {
-				w.println("translateThis = " + transValue);
-				w.flush();
-			} finally {
-				w.close();
-			}
-		} catch (IOException ioe) {
-			fail ("Unable to write to translation file " + prefTransFile.getPath());
-		}
-		Preferences prefs = getPreferences("primaryFeatureTranslations", "5");
-		verifyPreferences ("primaryFeatureTranslations", prefs, "5",
-			untransValue, transValue);
-	} finally {
-			cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.ini");
-			cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", null, "plugin_customization.properties");
-	}
-}
-
-public void testPFTranslationsFragmentNL1 () {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the most specific nl directory
-	// below the primary feature fragment.
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	try {
-		String subDirectory = buildNLSubdirectory(0);
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
-		if (!buildFragmentTestFile(primaryFeaturePluginId,
-			"nl/" + subDirectory, "plugin_customization", untransValue,
-			transValue, "primaryFeatureTranslations"))
-			// We don't expect this one to fail
-			fail ("0.6 Could not build nl preference data for testPrimaryFeatureTranslationsNL1");
-		else {
-			Preferences prefs = getPreferences("primaryFeatureTranslations", "6");
-			verifyPreferences("primaryFeatureTranslations", prefs, "6", untransValue, transValue);
-		}
-	} finally {
-			cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
-	}
-}
-
-public void testPFTranslationsFragmentNL2() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the nl/<first_segment> directory
-	// below the primary feature fragment.  Note that if there is
-	// only one segment to the locale string, the test 
-	// testPFTranslationsFragmentNL1 will have already done
-	// this.  In this case, this test will do nothing.
-	
-	String nl = BootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	if (localeSegments > 1) {
-		try {
-			String subDirectory = buildNLSubdirectory(1);
-			String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-			String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
-			if (!buildFragmentTestFile(primaryFeaturePluginId,
-				"nl/" + subDirectory, "plugin_customization", untransValue,
-				transValue, "primaryFeatureTranslations"))
-				// We don't expect this one to fail
-				fail ("0.7 Could not build nl preference data for testPFTranslationsFragmentNL2");
-			else {
-				Preferences prefs = getPreferences("primaryFeatureTranslations", "7");
-				verifyPreferences("primaryFeatureTranslations", prefs, "7", untransValue, transValue);
-			}
-		} finally {
-			cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
-		}
-	}
-}
-
-public void testPFTranslationsFragmentNL3() {
-	// Test translations in the primary feature preferences when
-	// the translation file is in the nl/ directory
-	// below the primary feature fragment.  Note that these
-	// translations should not be found.
-	String nl = BootLoader.getNL();
-	// there is at least one segment
-	int localeSegments = 1;
-	int i = nl.indexOf('_');
-	while (i != -1) {
-		localeSegments++;
-		nl = nl.substring(i+1);
-		i = nl.indexOf('_');
-	}
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	try {
-		String subDirectory = buildNLSubdirectory(localeSegments);
-		String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
-		String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
-		if (buildFragmentTestFile(primaryFeaturePluginId,
-			"nl/" + subDirectory, "plugin_customization", untransValue,
-			transValue, "primaryFeatureTranslations"))
-		if (subDirectory == null)
-			// We don't expect this one to fail
-			fail ("0.8 Could not build nl preference data for testPFTranslationsFragmentNL3");
-		else {
-			Preferences prefs = getPreferences("primaryFeatureTranslations", "8");
-				verifyPreferences("primaryFeatureTranslations", prefs, "8", untransValue, "%translateThis");
-		}
-	} finally {
-		cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
-	}
-}
-
-public void xtestPluginLocalPreferenceTranslations() {
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
deleted file mode 100644
index 712a01a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class PrimaryFeaturePreferenceHelperTests extends WorkspaceSessionTest {
-
-public PrimaryFeaturePreferenceHelperTests() {
-	super(null);
-}
-public PrimaryFeaturePreferenceHelperTests(String name) {
-	super(name);
-}
-
-public static void deleteDirectory (File directory) {
-	String[] files = directory.list();
-	if (files == null) {
-		directory.delete();
-		return;
-	}
-	for (int i = 0; i < files.length; i++) {
-		File newFile = new File(directory, files[i]);
-		if (newFile.isFile())
-			newFile.delete();
-		else if (newFile.isDirectory())
-			deleteDirectory(newFile);
-	}
-	directory.delete();
-}
-
-protected void setUp () {
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
-	assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
-	String rootDirectory = null;
-	try {
-		rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
-	} catch (MalformedURLException badURL) {
-		fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
-	}
-	IPath sourcePath = new Path(rootDirectory).append("nl");
-	File sourceFile = sourcePath.toFile();
-	if (sourceFile.exists()) {
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsavenl").toString())))
-			fail("Unable to move nl directory for primary feature " + primaryFeaturePluginId);
-	}
-	sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
-	sourceFile = new File(sourcePath.toString());
-	if (sourceFile.exists()) {
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsaveplugin_customization.ini").toString())))
-			fail("Unable to move existing plugin_customization.ini file.");
-	}
-	sourcePath = new Path(rootDirectory).append("plugin_customization.properties");
-	sourceFile = new File(sourcePath.toString());
-	if (sourceFile.exists()) {
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsaveplugin_customization.properties").toString())))
-			fail("Unable to move existing plugin_customization.properties file.");
-	}
-}
-
-protected void tearDown () {
-	String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
-	IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
-	assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
-	String rootDirectory = null;
-	try {
-		rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
-	} catch (MalformedURLException badURL) {
-		fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
-	}
-	IPath sourcePath = new Path(rootDirectory).append("xxsavenl");
-	File sourceFile = new File(sourcePath.toString());
-	if (sourceFile.exists()) {
-		IPath destPath = new Path(rootDirectory).append("nl");
-		File destFile = new File(destPath.toString());
-		if (destFile.exists()) {
-			deleteDirectory(destFile);
-		}
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("nl").toString())))
-			fail("Unable to restore nl directory for primary feature " + primaryFeaturePluginId);
-	}
-	sourcePath = new Path(rootDirectory).append("xxsaveplugin_customization.ini");
-	sourceFile = new File(sourcePath.toString());
-	if (sourceFile.exists()) {
-		IPath destPath = new Path(rootDirectory).append("plugin_customization.ini");
-		File destFile = new File(destPath.toString());
-		if (destFile.exists()) {
-			if (!destFile.delete()) 
-				fail("Unable to remove test plugin_customization.ini file for " + primaryFeaturePluginId);
-		}
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("plugin_customization.ini").toString())))
-			fail("Unable to restore plugin_customization.ini file.");
-	}
-	sourcePath = new Path(rootDirectory).append("xxsaveplugin_customization.properties");
-	sourceFile = new File(sourcePath.toString());
-	if (sourceFile.exists()) {
-		IPath destPath = new Path(rootDirectory).append("plugin_customization.properties");
-		File destFile = new File(destPath.toString());
-		if (destFile.exists()) {
-			if (!destFile.delete()) 
-				fail("Unable to remove test plugin_customization.properties file for " + primaryFeaturePluginId);
-		}
-		if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("plugin_customization.properties").toString())))
-			fail("Unable to restore plugin_customization.properties file.");
-	}
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
deleted file mode 100644
index 40bb085..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class SavePreferencesTests extends WorkspaceSessionTest {
-
-public SavePreferencesTests() {
-	super(null);
-}
-public SavePreferencesTests(String name) {
-	super(name);
-}
-
-public void testChangeExistingPreference() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
-	Preferences prefs = null;
-	Plugin plugin = null;
-	try {
-		plugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("1.0 core exception activating \"changeExistingPreference\"");
-	}
-	prefs = plugin.getPluginPreferences();
-	// We should have only one preference
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("1.1 One default preferences", defaultNames.length == 1);
-	assertTrue("1.2 No explicit preferences", prefNames.length == 0);
-	assertTrue("1.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
-	assertTrue("1.4 Default preference value",
-		prefs.getString("ExistingPreference").equals("From the local plugin directory"));
-	
-	// Now change the value of this preference
-	prefs.setValue("ExistingPreference", "From the test, testChangeExistingPreference");
-	plugin.savePluginPreferences();
-}
-
-public void testChangeExistingPreference2() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
-	Preferences prefs = null;
-	Plugin plugin = null;
-	try {
-		plugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("2.0 core exception activating \"changeExistingPreference\"");
-	}
-	prefs = plugin.getPluginPreferences();
-	// We should have only one preference with a default value
-	// and an explicitly set value (because we set it in
-	// testChangeExistingPreference.
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("2.1 One default preferences", defaultNames.length == 1);
-	assertTrue("2.2 One explicit preference", prefNames.length == 1);
-	assertTrue("2.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
-	assertTrue("2.4 Explicit preference name", prefNames[0].equals("ExistingPreference"));
-	assertTrue("2.5 Default preference value",
-		prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory"));
-	assertTrue("2.6 Explicit preference value",
-		prefs.getString("ExistingPreference").equals("From the test, testChangeExistingPreference"));
-
-	// Now change the value of this preference back to the default
-	prefs.setValue("ExistingPreference", "From the local plugin directory");
-	plugin.savePluginPreferences();
-}
-
-public void testChangeExistingPreference3() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
-	Preferences prefs = null;
-	Plugin plugin = null;
-	try {
-		plugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("3.0 core exception activating \"changeExistingPreference\"");
-	}
-	prefs = plugin.getPluginPreferences();
-	// We should be back to having just the default preference
-	// since we set the explicit value back to the default value in
-	// testChangeExistingPreference2
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("3.1 One default preferences", defaultNames.length == 1);
-	assertTrue("3.2 No explicit preferences", prefNames.length == 0);
-	assertTrue("3.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
-	assertTrue("3.4 Default preference value",
-		prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory"));
-}
-
-public void testAddNewPreference() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("addNewPreference");
-	Preferences prefs = null;
-	Plugin plugin = null;
-	try {
-		plugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("4.0 core exception activating \"addNewPreference\"");
-	}
-	prefs = plugin.getPluginPreferences();
-	// We should have only one preference
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("4.1 One default preferences", defaultNames.length == 1);
-	assertTrue("4.2 No explicit preferences", prefNames.length == 0);
-	assertTrue("4.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
-	assertTrue("4.4 Default preference value",
-		prefs.getString("ExistingPreference").equals("From the local plugin directory of addNewPreference"));
-	
-	// Now add a new preference
-	prefs.setValue("newPreference", "From the test, testAddNewPreference");
-	plugin.savePluginPreferences();
-}
-
-public void testAddNewPreference2() {
-	IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-	
-	IPluginDescriptor resPlugin = registry.getPluginDescriptor("addNewPreference");
-	Preferences prefs = null;
-	Plugin plugin = null;
-	try {
-		plugin = resPlugin.getPlugin();
-	} catch (CoreException ce) {
-		fail("5.0 core exception activating \"addNewPreference\"");
-	}
-	prefs = plugin.getPluginPreferences();
-	// We should have 2 preferences (one set by default and the
-	// other set explicitly in testAddNewPreference
-	String[] defaultNames = prefs.defaultPropertyNames();
-	String[] prefNames = prefs.propertyNames();
-	assertTrue("5.1 One default preferences", defaultNames.length == 1);
-	assertTrue("5.2 One explicit preferences", prefNames.length == 1);
-	assertTrue("5.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
-	assertTrue("5.4 Explicit preference name", prefNames[0].equals("newPreference"));
-	assertTrue("5.5 Default preference value",
-		prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory of addNewPreference"));
-	assertTrue("5.6 Explicit preference value",
-		prefs.getString("newPreference").equals("From the test, testAddNewPreference"));
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
deleted file mode 100644
index 2fbe083..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.*;
-import org.eclipse.core.tests.runtime.model.ConfigurationElementModelTest;
-
-
-public class AllTests extends TestCase {
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests() {
-	super(null);
-}
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(PathTest.suite());
-	suite.addTest(PlatformTest.suite());
-	suite.addTest(PreferencesTest.suite());
-	suite.addTest(PreferenceExportTest.suite());
-	suite.addTest(org.eclipse.core.tests.internal.runtime.AllTests.suite());
-	suite.addTest(ConfigurationElementModelTest.suite());
-	suite.addTest(org.eclipse.core.tests.internal.plugins.AllTests.suite());
-	suite.addTest(org.eclipse.core.tests.internal.registrycache.AllTests.suite());
-	return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
deleted file mode 100644
index b2e8036..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.*;
-/**
- * Runs the sniff tests for the build. All tests listed here should
- * be automated.
- */
-public class AutomatedTests extends TestCase {
-
-public AutomatedTests() {
-	super(null);
-}
-
-public AutomatedTests(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(org.eclipse.core.tests.runtime.AllTests.suite());
-	return suite;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
deleted file mode 100644
index 3c7cea1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.util.HashMap;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.tests.harness.CorePerformanceTest;
-
-public class BenchPath extends CorePerformanceTest {
-public BenchPath() {
-}
-public BenchPath(String testName) {
-	super(testName);
-}
-public static Test suite() { 
-	TestSuite suite= new TestSuite();
-
-//	suite.addTest(new BenchPath("benchHash"));
-//	suite.addTest(new BenchPath("benchPathCreation"));
-	suite.addTest(new BenchPath("benchToOSString"));
-	suite.addTest(new BenchPath("benchToString"));
-
- 	return suite;
-}
-/**
- * Tests performance of equals and hashCode by using paths
- * as keys in a hash map.
- */
-public void benchHash() {
-	final int REPEAT = 2000000;
-	IPath[] paths = generateVariousPaths();
-	HashMap map = new HashMap(32);
-	for (int i = 0; i < paths.length; i++) {
-		map.put(paths[i], "");
-	}
-	int numPaths = paths.length;
-	startBench();
-	for (int i = 0; i < REPEAT; i++) {
-		for (int p = 0; p < numPaths; p++) {
-			map.get(paths[p]);
-		}
-	}
-	stopBench("benchHash", REPEAT * numPaths);
-}
-/**
- * Tests the performance of path creation
- */
-public void benchPathCreation() {
-
-	final int repeat = 100000;
-	final int count = repeat * 20;
-
-	startBench();
-
-	for (int rep = repeat; --rep >= 0;) {
-		//folders (5)
-		new Path("/");
-		new Path("/Foo");
-		new Path("/Foo/bar");
-		new Path("/Foo/bar/baz");
-		new Path("/Foo/bar/baz/blap");			
-		
-		//files (15)
-		new Path("/Foo/abc.txt");
-		new Path("/Foo/bar/abc.txt");
-		new Path("/Foo/bar/baz/abc.txt");
-		new Path("/Foo/bar/baz/blap/abc.txt");			
-		new Path("/Foo/bar/abc.txt");
-		new Path("/Foo/bar/baz/abc.txt");
-		new Path("/Foo/bar/baz/blap/abc.txt");			
-		new Path("/Foo/bar/baz/abc.txt");
-		new Path("/Foo/bar/baz/blap/abc.txt");			
-		new Path("/Foo/bar/baz/abc.txt");
-		new Path("/Foo/bar/baz/blap/abc.txt");			
-		new Path("/Foo/bar/baz/abc.txt");
-		new Path("/Foo/bar/baz/blap/abc.txt");	
-		new Path("/Foo/bar/baz/blap/blam/abc.txt");	
-		new Path("/Foo/bar/baz/blap/blam/blip/boop/abc.txt");	
-
-	}
-
-	stopBench("benchPathCreation", count);
-}
-/**
- * Tests the performance of Path.toOSString
- */
-public void benchToOSString() {
-	final int repeat = 500000;
-	
-	IPath[] paths = generateVariousPaths();
-	final int count = repeat * paths.length;
-
-	startBench();
-	for (int rep = repeat; --rep >= 0;) {
-		for (int p = paths.length; --p >= 0;) {
-			paths[p].toOSString();
-		}
-	}	
-	stopBench("benchToOSString", count);
-}
-/**
- * Tests the performance of Path.toOSString
- */
-public void benchToString() {
-	final int repeat = 500000;
-	
-	IPath[] paths = generateVariousPaths();
-	final int count = repeat * paths.length;
-
-	startBench();
-	for (int rep = repeat; --rep >= 0;) {
-		for (int p = paths.length; --p >= 0;) {
-			paths[p].toString();
-		}
-	}	
-	stopBench("benchToString", count);
-}
-
-/**
- * Returns an array containing various paths.
- */
-private IPath[] generateVariousPaths() {
-	IPath[] paths = new IPath[20];
-	int i = 0;
-	paths[i++] = new Path("/");
-	paths[i++] = new Path("/Foo");
-	paths[i++] = new Path("/Foo/bar");
-	paths[i++] = new Path("/Foo/bar/baz");
-	paths[i++] = new Path("/Foo/bar/baz/blap");			
-		
-		//files (15)
-	paths[i++] = new Path("/Foo/abc.txt");
-	paths[i++] = new Path("/Foo/bar/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");			
-	paths[i++] = new Path("/Foo/bar/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");			
-	paths[i++] = new Path("/Foo/bar/baz/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");			
-	paths[i++] = new Path("/Foo/bar/baz/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");			
-	paths[i++] = new Path("/Foo/bar/baz/abc.txt");
-	paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");	
-	paths[i++] = new Path("/Foo/bar/baz/blap/blam/abc.txt");	
-	paths[i++] = new Path("/Foo/bar/baz/blap/blam/blip/boop/abc.txt");	
-	
-	return paths;
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
deleted file mode 100644
index fc088b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class CoreExceptionTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public CoreExceptionTest() {
-	super(null);
-}
-public CoreExceptionTest(String name) {
-	super(name);
-}
-public static Test suite() {
-	return new TestSuite(CoreExceptionTest.class);
-}
-public void testCoreException() {
-	final String MESSAGE_STRING = "An exception has occurred";
-	IStatus status = new Status(
-		IStatus.ERROR,
-		"org.eclipse.core.tests.runtime",
-		31415,
-		MESSAGE_STRING,
-		new NumberFormatException());
-		
-	CoreException e = new CoreException(status);
-	
-	assertEquals("1.0",status,e.getStatus());
-	assertEquals("1.1",MESSAGE_STRING,e.getMessage());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
deleted file mode 100644
index ea85cde..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class OperationCanceledExceptionTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public OperationCanceledExceptionTest() {
-	super(null);
-}
-public OperationCanceledExceptionTest(String name) {
-	super(name);
-}
-public static Test suite() {
-	return new TestSuite(OperationCanceledExceptionTest.class);
-}
-public void testCoreException() {
-	final String MESSAGE_STRING = "An exception has occurred";
-	OperationCanceledException e = new OperationCanceledException(MESSAGE_STRING);
-	
-	assertEquals("1.0",MESSAGE_STRING,e.getMessage());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
deleted file mode 100644
index a047574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
+++ /dev/null
@@ -1,656 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-import java.util.ArrayList;
-
-/**
- * Test cases for the Path class.
- */
-public class PathTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public PathTest() {
-	super(null);
-}
-public PathTest(String name) {
-	super(name);
-}
-public static Test suite() {
-
-	return new TestSuite(PathTest.class);
-
-	//TestSuite suite= new TestSuite();
-	//suite.addTest(new PathTest("testConstructors"));
-	//return suite;
-}
-public void testAddTrailingSeparator() {
-
-	IPath with = new Path("/first/second/third/");
-	IPath without = new Path("/first/second/third");
-
-	assertSame("1.0", with, with.addTrailingSeparator());
-	assertEquals("1.1", with, without.addTrailingSeparator());
-	assertTrue("1.2", without.equals(without.addTrailingSeparator()));
-
-	assertSame("2.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
-	assertEquals("2.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-
-	with = new Path("//first/second/third/");
-	without = new Path("//first/second/third");
-
-	assertSame("3.0", with, with.addTrailingSeparator());
-	assertEquals("3.1", with, without.addTrailingSeparator());
-	assertTrue("3.2", without.equals(without.addTrailingSeparator()));
-
-	assertSame("4.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
-	assertEquals("4.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-
-	with = new Path("c:/first/second/third/");
-	without = new Path("c:/first/second/third");
-
-	assertSame("5.0", with, with.addTrailingSeparator());
-	assertEquals("5.1", with, without.addTrailingSeparator());
-	assertTrue("5.2", without.equals(without.addTrailingSeparator()));
-
-	assertSame("6.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
-	assertEquals("6.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-}
-public void testAppend() {
-
-	IPath fore = new Path("/first/second/third/");
-	String aftString = "/fourth/fifth";
-	IPath aft = new Path(aftString);
-	IPath combo = new Path("/first/second/third/fourth/fifth");
-
-	assertEquals("1.0", combo, fore.append(aft));
-	assertEquals("1.1", combo, fore.removeTrailingSeparator().append(aft));
-	assertEquals("1.2", combo, Path.ROOT.append(fore).append(aft));
-	assertTrue("1.3", !fore.append(aft).hasTrailingSeparator());
-	assertTrue("1.4", !Path.ROOT.append(fore).append(aft).hasTrailingSeparator());
-	assertTrue("1.5", !fore.removeTrailingSeparator().append(aft).hasTrailingSeparator());
-
-	assertEquals("2.0", combo, fore.append(aftString));
-	assertEquals("2.1", combo, fore.removeTrailingSeparator().append(aftString));
-	assertEquals("2.2", combo, Path.ROOT.append(fore).append(aftString));
-	assertTrue("2.3", !fore.append(aftString).hasTrailingSeparator());
-	assertTrue("2.4", !Path.ROOT.append(fore).append(aftString).hasTrailingSeparator());
-	assertTrue("2.5", !fore.removeTrailingSeparator().append(aftString).hasTrailingSeparator());
-	
-	//ensure append preserves correct trailing separator
-	assertTrue("3.0", !fore.append("aft").hasTrailingSeparator());
-	assertTrue("3.1", fore.append("aft/").hasTrailingSeparator());
-	assertTrue("3.2", !fore.append("/aft").hasTrailingSeparator());
-	assertTrue("3.3", fore.append("/aft/").hasTrailingSeparator());
-	assertTrue("3.4", !fore.append("\\aft").hasTrailingSeparator());
-	assertTrue("3.5", fore.append("aft\\").hasTrailingSeparator());
-	assertTrue("3.6", !fore.append("fourth/fifth").hasTrailingSeparator());
-	assertTrue("3.7", fore.append("fourth/fifth/").hasTrailingSeparator());
-	assertTrue("3.8", !fore.append(new Path("aft")).hasTrailingSeparator());
-	assertTrue("3.9", fore.append(new Path("aft/")).hasTrailingSeparator());
-	assertTrue("3.10", !fore.append(new Path("fourth/fifth")).hasTrailingSeparator());
-	assertTrue("3.11", fore.append(new Path("fourth/fifth/")).hasTrailingSeparator());
-	
-	//make sure append converts slashes appropriately
-	aftString = "fourth\\fifth";
-	assertEquals("4.0", combo, fore.append(aftString));
-	assertEquals("4.1", combo, fore.removeTrailingSeparator().append(aftString));
-	assertEquals("4.2", combo, Path.ROOT.append(fore).append(aftString));
-
-	assertEquals("5.0", new Path("/foo"), Path.ROOT.append("../foo"));
-	assertEquals("5.1", new Path("/foo"), Path.ROOT.append("./foo"));
-	assertEquals("5.2", new Path("c:/foo/xyz"), new Path("c:/foo/bar").append("../xyz"));
-	assertEquals("5.3", new Path("c:/foo/bar/xyz"), new Path("c:/foo/bar").append("./xyz"));
-	
-	//append preserves device and leading separator of receiver
-	assertEquals("6.1", new Path("c:foo/bar"), new Path("c:").append("/foo/bar"));
-	assertEquals("6.2", new Path("c:foo/bar"), new Path("c:").append("foo/bar"));
-	assertEquals("6.3", new Path("c:/foo/bar"), new Path("c:/").append("/foo/bar"));
-	assertEquals("6.4", new Path("c:/foo/bar"), new Path("c:/").append("foo/bar"));
-	
-	assertEquals("6.5", new Path("c:foo/bar"), new Path("c:").append("z:/foo/bar"));
-	assertEquals("6.6", new Path("c:foo/bar"), new Path("c:").append("z:foo/bar"));
-	assertEquals("6.7", new Path("c:/foo/bar"), new Path("c:/").append("z:/foo/bar"));
-	assertEquals("6.8", new Path("c:/foo/bar"), new Path("c:/").append("z:foo/bar"));
-
-	assertEquals("6.9", new Path("c:foo/bar"), new Path("c:").append(new Path("/foo/bar")));
-	assertEquals("6.10", new Path("c:foo/bar"), new Path("c:").append(new Path("foo/bar")));
-	assertEquals("6.11", new Path("c:/foo/bar"), new Path("c:/").append(new Path("/foo/bar")));
-	assertEquals("6.12", new Path("c:/foo/bar"), new Path("c:/").append(new Path("foo/bar")));
-	
-	assertEquals("6.13", new Path("c:foo/bar"), new Path("c:").append(new Path("z:/foo/bar")));
-	assertEquals("6.14", new Path("c:foo/bar"), new Path("c:").append(new Path("z:foo/bar")));
-	assertEquals("6.15", new Path("c:/foo/bar"), new Path("c:/").append(new Path("z:/foo/bar")));
-	assertEquals("6.16", new Path("c:/foo/bar"), new Path("c:/").append(new Path("z:foo/bar")));
-
-
-	//append preserves isUNC of receiver
-	assertEquals("7.0", new Path("/foo/bar"), new Path("/foo").append("//bar"));
-	assertEquals("7.1", new Path("/foo/bar/test"), new Path("/foo").append("bar//test"));
-	assertEquals("7.2", new Path("//foo/bar"), new Path("//foo").append("bar"));
-}
-public void testSegmentCount() {
-
-	assertEquals("1.0", 0, Path.ROOT.segmentCount());
-	assertEquals("1.1", 0, Path.EMPTY.segmentCount());
-
-	assertEquals("2.0", 1, new Path("/first").segmentCount());
-	assertEquals("2.1", 1, new Path("/first/").segmentCount());
-	assertEquals("2.2", 3, new Path("/first/second/third/").segmentCount());
-	assertEquals("2.3", 3, new Path("/first/second/third").segmentCount());
-	assertEquals("2.4", 5, new Path("/first/second/third/fourth/fifth").segmentCount());
-
-	assertEquals("3.0", 0, new Path("//").segmentCount());
-	assertEquals("3.1", 1, new Path("//first").segmentCount());
-	assertEquals("3.2", 1, new Path("//first/").segmentCount());
-	assertEquals("3.3", 2, new Path("//first/second").segmentCount());
-	assertEquals("3.4", 2, new Path("//first/second/").segmentCount());
-}
-public void testCanonicalize() {
-	// Test collapsing multiple separators
-	// double slashes at the beginning of a path
-	// are left and assumed to be a UNC path
-	assertEquals("//", new Path("///////").toString());
-	assertEquals("/a/b/c", new Path("/a/b//c").toString());
-	assertEquals("//a/b/c", new Path("//a/b//c").toString());
-	assertEquals("a/b/c/", new Path("a/b//c//").toString());
-
-	// Test collapsing single dots
-	assertEquals("2.0", "/", new Path("/./././.").toString());
-	assertEquals("2.1", "/a/b/c", new Path("/a/./././b/c").toString());
-	assertEquals("2.2", "/a/b/c", new Path("/a/./b/c/.").toString());
-	assertEquals("2.3", "a/b/c", new Path("a/./b/./c").toString());
-
-	// Test collapsing double dots
-	assertEquals("3.0", "/a/b", new Path("/a/b/c/..").toString());
-	assertEquals("3.1", "/", new Path("/a/./b/../..").toString());
-}
-public void testClone() {
-
-	IPath anyPath = new Path("/a/b/c");
-	assertEquals("1.0", anyPath, anyPath.clone());
-	anyPath = new Path("//a/b/c");
-	assertEquals("1.1", anyPath, anyPath.clone());
-	anyPath = new Path("c:/a/b/c");
-	assertEquals("1.2", anyPath, anyPath.clone());
-
-	assertEquals("1.3", Path.ROOT, Path.ROOT.clone());
-}
-public void testConstructors() {
-
-	assertEquals("1.0", "", new Path("").toString());
-	assertEquals("1.1", "/", new Path("/").toString());
-	assertEquals("1.2", "a", new Path("a").toString());
-	assertEquals("1.3", "/a", new Path("/a").toString());
-	assertEquals("1.4", "//", new Path("//").toString());
-	assertEquals("1.5", "/a/", new Path("/a/").toString());
-	assertEquals("1.6", "/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z", new Path("/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z").toString());
-	assertEquals("1.7", "...", new Path("...").toString());
-	assertEquals("1.8", "/a/b/.../c", new Path("/a/b/.../c").toString());
-
-	IPath anyPath = new Path("/first/second/third");
-
-	assertEquals("2.0", Path.EMPTY, new Path(""));
-	assertEquals("2.1", Path.ROOT, new Path("/"));
-	assertEquals("2.2", anyPath, anyPath);
-}
-public void testFirstSegment() {
-
-	assertNull("1.0", Path.ROOT.segment(0));
-	assertNull("1.1", Path.EMPTY.segment(0));
-
-	assertEquals("2.0", "a", new Path("/a/b/c").segment(0));
-	assertEquals("2.1", "a", new Path("a").segment(0));
-	assertEquals("2.2", "a", new Path("/a").segment(0));
-	assertEquals("2.3", "a", new Path("a/b").segment(0));
-	assertEquals("2.4", "a", new Path("//a/b").segment(0));
-	assertEquals("2.5", "a", new Path("c:a/b").segment(0));
-	assertEquals("2.6", "a", new Path("c:/a/b").segment(0));
-
-}
-public void testGetFileExtension() {
-
-	IPath anyPath = new Path("index.html");
-	assertEquals("1.0", anyPath.getFileExtension(), "html");
-
-	assertNull("2.0", Path.ROOT.getFileExtension());
-	assertNull("2.1", Path.EMPTY.getFileExtension());
-	assertNull("2.2", new Path("index").getFileExtension());
-	assertNull("2.3", new Path("/a/b/c.txt/").getFileExtension());
-
-	assertEquals("3.0", "txt", new Path("/a/b/c.txt").getFileExtension());
-	assertEquals("3.1", "txt", new Path("/a/b/c.foo.txt").getFileExtension());
-	assertEquals("3.2", "txt", new Path("//a/b/c.foo.txt").getFileExtension());
-	assertEquals("3.3", "txt", new Path("c:/a/b/c.foo.txt").getFileExtension());
-	assertEquals("3.4", "txt", new Path("c:a/b/c.foo.txt").getFileExtension());
-
-}
-public void testHasTrailingSeparator() {
-
-	// positive
-	assertTrue("1.0", new Path("/first/second/third/").hasTrailingSeparator());
-	assertTrue("1.1", new Path("//first/second/third/").hasTrailingSeparator());
-	assertTrue("1.2", new Path("c:/first/second/third/").hasTrailingSeparator());
-	assertTrue("1.3", new Path("c:first/second/third/").hasTrailingSeparator());
-
-	// negative
-	assertTrue("2.0", !new Path("first/second/third").hasTrailingSeparator());
-	assertTrue("2.1", !Path.ROOT.hasTrailingSeparator());
-	assertTrue("2.2", !Path.EMPTY.hasTrailingSeparator());
-	assertTrue("2.3", !new Path("//first/second/third").hasTrailingSeparator());
-	assertTrue("2.4", !new Path("c:/first/second/third").hasTrailingSeparator());
-	assertTrue("2.5", !new Path("c:first/second/third").hasTrailingSeparator());
-	
-	//paths of length 0 never have a trailing separator
-	assertTrue("3.0", !new Path("/first/").removeLastSegments(1).hasTrailingSeparator());
-	assertTrue("3.1", !new Path("/first/").removeFirstSegments(1).hasTrailingSeparator());
-	assertTrue("3.2", !new Path("/").hasTrailingSeparator());
-	assertTrue("3.3", !new Path("/first/").append("..").hasTrailingSeparator());
-	assertTrue("3.4", !new Path("/first/").append(new Path("..")).hasTrailingSeparator());
-	assertTrue("3.5", !new Path("/first/../").hasTrailingSeparator());
-	assertTrue("3.6", !Path.ROOT.addTrailingSeparator().hasTrailingSeparator());
-	assertTrue("3.7", !Path.EMPTY.addTrailingSeparator().hasTrailingSeparator());
-	
-}
-public void testIsAbsolute() {
-	
-	// positive
-	assertTrue("1.0", new Path("/first/second/third").isAbsolute());
-	assertTrue("1.1", Path.ROOT.isAbsolute());
-	assertTrue("1.2", new Path("//first/second/third").isAbsolute());
-	assertTrue("1.3", new Path("c:/first/second/third").isAbsolute());
-	
-	// negative
-	assertTrue("2.0", !new Path("first/second/third").isAbsolute());
-	assertTrue("2.1", !Path.EMPTY.isAbsolute());
-	assertTrue("2.2", !new Path("c:first/second/third").isAbsolute());
-}
-public void testIsEmpty() {
-
-	// positive
-	assertTrue("1.0", Path.EMPTY.isEmpty());
-	
-	// negative
-	assertTrue("1.1", !new Path("first/second/third").isEmpty());
-	assertTrue("1.2", !Path.ROOT.isEmpty());
-}
-public void testIsPrefixOf() {
-
-	IPath prefix = new Path("/first/second");
-	IPath path = new Path("/first/second/third/fourth");
-
-	assertTrue("1.0", prefix.isPrefixOf(path));
-	// test the case where the arg is longer than the receiver.
-	assertTrue("1.1", !path.isPrefixOf(prefix));
-	assertTrue("1.2", !new Path("fifth/sixth").isPrefixOf(path));
-
-	assertTrue("2.0", prefix.addTrailingSeparator().isPrefixOf(path));
-
-	assertTrue("3.0", Path.ROOT.isPrefixOf(path));
-	assertTrue("3.1", Path.EMPTY.isPrefixOf(path));
-	assertTrue("3.2", !path.isPrefixOf(Path.ROOT));
-	assertTrue("3.3", !path.isPrefixOf(Path.EMPTY));
-}
-public void testIsRoot() {
-
-	// negative
-	assertTrue("1.0", !new Path("/first/second").isRoot());
-	assertTrue("1.1", !Path.EMPTY.isRoot());
-	assertTrue("1.2", !new Path("//").isRoot());
-
-	// positive
-	assertTrue("2.0", Path.ROOT.isRoot());
-	assertTrue("2.1", new Path("/").isRoot());
-}
-public void testIsUNC() {
-	
-	// negative
-	assertTrue("1.0", !Path.ROOT.isUNC());
-	assertTrue("1.1", !Path.EMPTY.isUNC());
-	
-	assertTrue("2.0", !new Path("a").isUNC());
-	assertTrue("2.1", !new Path("a/b").isUNC());
-	assertTrue("2.2", !new Path("/a").isUNC());
-	assertTrue("2.3", !new Path("/a/b").isUNC());
-	
-	assertTrue("3.0", !new Path("c:/a/b").isUNC());
-	assertTrue("3.1", !new Path("c:a/b").isUNC());
-	assertTrue("3.2", !new Path("/F/../").isUNC());
-
-	assertTrue("4.0", !new Path("c://a/").isUNC());
-	assertTrue("4.1", !new Path("c:\\/a/b").isUNC());
-	assertTrue("4.2", !new Path("c:\\\\").isUNC());
-		
-	// positive
-	assertTrue("5.0", new Path("//").isUNC());
-	assertTrue("5.1", new Path("//a").isUNC());
-	assertTrue("5.2", new Path("//a/b").isUNC());
-	assertTrue("5.3", new Path("\\\\ThisMachine\\HOME\\foo.jar").isUNC());
-	
-	assertTrue("6.0", new Path("c://a/").setDevice(null).isUNC());
-	assertTrue("6.1", new Path("c:\\/a/b").setDevice(null).isUNC());
-	assertTrue("6.2", new Path("c:\\\\").setDevice(null).isUNC());
-
-}
-public void testLastSegment() {
-
-	assertEquals("1.0", "second", new Path("/first/second").lastSegment());
-
-	assertEquals("2.0", "first", new Path("first").lastSegment());
-	assertEquals("2.1", "first", new Path("/first/").lastSegment());
-	assertEquals("2.2", "second", new Path("first/second").lastSegment());
-	assertEquals("2.3", "second", new Path("first/second/").lastSegment());
-
-	assertNull("3.0", Path.EMPTY.lastSegment());
-	assertNull("3.1", Path.ROOT.lastSegment());
-	assertNull("3.2", new Path("//").lastSegment());
-
-	assertEquals("4.0", "second", new Path("//first/second/").lastSegment());
-	assertEquals("4.1", "second", new Path("//first/second").lastSegment());
-	assertEquals("4.2", "second", new Path("c:/first/second/").lastSegment());
-	assertEquals("4.3", "second", new Path("c:first/second/").lastSegment());
-	
-	assertEquals("5.0", "first", new Path("//first").lastSegment());
-	assertEquals("5.1", "first", new Path("//first/").lastSegment());
-}
-public void testMakeAbsolute() {
-	IPath anyPath = new Path("first/second/third").makeAbsolute();
-	assertTrue("1.0", anyPath.isAbsolute());
-	assertEquals("1.1", new Path("/first/second/third"), anyPath);
-
-	anyPath = new Path("").makeAbsolute();
-	assertTrue("2.0", anyPath.isAbsolute());
-	assertEquals("2.1", Path.ROOT, anyPath);
-}
-public void testMakeRelative() {
-	IPath anyPath = new Path("/first/second/third").makeRelative();
-	assertTrue("1.0", !anyPath.isAbsolute());
-	assertEquals("1.1", new Path("first/second/third"), anyPath);
-
-	anyPath = Path.ROOT.makeRelative();
-	assertTrue("2.0", !anyPath.isAbsolute());
-	assertEquals("2.1", new Path(""), anyPath);
-}
-public void testMakeUNC() {
-
-	ArrayList inputs = new ArrayList();
-	ArrayList expected = new ArrayList();
-	ArrayList expectedNon = new ArrayList();
-	
-	inputs.add(Path.ROOT);
-	expected.add("//");
-	expectedNon.add("/");
-
-	inputs.add(Path.EMPTY);
-	expected.add("//");
-	expectedNon.add("");
-	
-	inputs.add(new Path("a"));
-	expected.add("//a");
-	expectedNon.add("a");
-	
-	inputs.add(new Path("a/b"));
-	expected.add("//a/b");
-	expectedNon.add("a/b");
-
-	inputs.add(new Path("/a/b/"));
-	expected.add("//a/b/");
-	expectedNon.add("/a/b/");
-	
-	inputs.add(new Path("//"));
-	expected.add("//");
-	expectedNon.add("/");
-	
-	inputs.add(new Path("//a"));
-	expected.add("//a");
-	expectedNon.add("/a");
-	
-	inputs.add(new Path("//a/b"));
-	expected.add("//a/b");
-	expectedNon.add("/a/b");
-	
-	inputs.add(new Path("//a/b/"));
-	expected.add("//a/b/");
-	expectedNon.add("/a/b/");
-	
-	inputs.add(new Path("c:", "/"));
-	expected.add("//");
-	expectedNon.add("c:/");
-	
-	inputs.add(new Path("c:", ""));
-	expected.add("//");
-	expectedNon.add("c:");
-	
-	inputs.add(new Path("c:", "a"));
-	expected.add("//a");
-	expectedNon.add("c:a");
-	
-	inputs.add(new Path("c:", "a/b"));
-	expected.add("//a/b");
-	expectedNon.add("c:a/b");
-	
-	inputs.add(new Path("c:", "/a"));
-	expected.add("//a");
-	expectedNon.add("c:/a");
-	
-	inputs.add(new Path("c:", "/a/b"));
-	expected.add("//a/b");
-	expectedNon.add("c:/a/b");
-
-	assertEquals("0.0", inputs.size(), expected.size());
-	assertEquals("0.1", inputs.size(), expectedNon.size());
-
-	for (int i = 0; i < inputs.size(); i++) {
-		IPath path = (IPath) inputs.get(i);
-		IPath result = path.makeUNC(true);
-		assertTrue("1.0." + path + " (" + result + ")", result.isUNC());
-		assertEquals("1.1." + path, (String) expected.get(i), result.toString());
-		result = path.makeUNC(false);
-		assertTrue("1.3." + path, !result.isUNC());
-		assertEquals("1.4." + path, (String) expectedNon.get(i), result.toString());
-	}
-}
-/**
- * This test is for bizarre cases that previously caused errors.
- */
-public void testRegression() {
-	try {
-		new Path("C:\\/eclipse");
-	} catch (Exception e) {
-		fail("1.0", e);
-	}
-	try {
-		IPath path = new Path("d:\\\\ive");
-		assertTrue("2.0", !path.isUNC());
-		assertEquals("2.1", 1, path.segmentCount());
-		assertEquals("2.2", "ive", path.segment(0));
-	} catch (Exception e) {
-		fail("2.99", e);
-	}
-
-}
-public void testRemoveFirstSegments() {
-	assertEquals("1.0", new Path("second"), new Path("/first/second").removeFirstSegments(1));
-	assertEquals("1.1", new Path("second/third/"), new Path("/first/second/third/").removeFirstSegments(1));
-	assertEquals("1.2", Path.EMPTY, new Path("first").removeFirstSegments(1));
-	assertEquals("1.3", Path.EMPTY, new Path("/first/").removeFirstSegments(1));
-	assertEquals("1.4", new Path("second"), new Path("first/second").removeFirstSegments(1));
-	assertEquals("1.5", Path.EMPTY, new Path("").removeFirstSegments(1));
-	assertEquals("1.6", Path.EMPTY, Path.ROOT.removeFirstSegments(1));
-	assertEquals("1.7", Path.EMPTY, new Path("/first/second/").removeFirstSegments(2));
-	assertEquals("1.8", Path.EMPTY, new Path("/first/second/").removeFirstSegments(3));
-	assertEquals("1.9", new Path("third/fourth"), new Path("/first/second/third/fourth").removeFirstSegments(2));
-
-	assertEquals("2.0", new Path("c:second"), new Path("c:/first/second").removeFirstSegments(1));
-	assertEquals("2.1", new Path("c:second/third/"), new Path("c:/first/second/third/").removeFirstSegments(1));
-	assertEquals("2.2", new Path("c:"), new Path("c:first").removeFirstSegments(1));
-	assertEquals("2.3", new Path("c:"), new Path("c:/first/").removeFirstSegments(1));
-	assertEquals("2.4", new Path("c:second"), new Path("c:first/second").removeFirstSegments(1));
-	assertEquals("2.5", new Path("c:"), new Path("c:").removeFirstSegments(1));
-	assertEquals("2.6", new Path("c:"), new Path("c:/").removeFirstSegments(1));
-	assertEquals("2.7", new Path("c:"), new Path("c:/first/second/").removeFirstSegments(2));
-	assertEquals("2.8", new Path("c:"), new Path("c:/first/second/").removeFirstSegments(3));
-	assertEquals("2.9", new Path("c:third/fourth"), new Path("c:/first/second/third/fourth").removeFirstSegments(2));
-
-	assertEquals("3.0", new Path("second"), new Path("//first/second").removeFirstSegments(1));
-	assertEquals("3.1", new Path("second/third/"), new Path("//first/second/third/").removeFirstSegments(1));
-	assertEquals("3.2", Path.EMPTY, new Path("//first/").removeFirstSegments(1));
-	assertEquals("3.3", Path.EMPTY, new Path("//").removeFirstSegments(1));
-	assertEquals("3.4", Path.EMPTY, new Path("//first/second/").removeFirstSegments(2));
-	assertEquals("3.5", Path.EMPTY, new Path("//first/second/").removeFirstSegments(3));
-	assertEquals("3.6", new Path("third/fourth"), new Path("//first/second/third/fourth").removeFirstSegments(2));
-}
-public void testRemoveLastSegments() {
-
-	assertEquals("1.0", new Path("/first"), new Path("/first/second").removeLastSegments(1));
-	assertEquals("1.1", new Path("//first"), new Path("//first/second").removeLastSegments(1));
-	assertEquals("1.2", new Path("c:/first"), new Path("c:/first/second").removeLastSegments(1));
-	assertEquals("1.3", new Path("c:first"), new Path("c:first/second").removeLastSegments(1));
-
-	assertEquals("2.0", new Path("/first/second/"), new Path("/first/second/third/").removeLastSegments(1));
-	assertEquals("2.1", new Path("//first/second/"), new Path("//first/second/third/").removeLastSegments(1));
-	assertEquals("2.2", new Path("c:/first/second/"), new Path("c:/first/second/third/").removeLastSegments(1));
-	assertEquals("2.3", new Path("c:first/second/"), new Path("c:first/second/third/").removeLastSegments(1));
-
-	assertEquals("3.0", Path.EMPTY, new Path("first").removeLastSegments(1));
-	assertEquals("3.1", Path.ROOT, new Path("/first/").removeLastSegments(1));
-	assertEquals("3.2", new Path("first"), new Path("first/second").removeLastSegments(1));
-
-	assertEquals("4.0", Path.EMPTY, new Path("").removeLastSegments(1));
-	assertEquals("4.1", Path.ROOT, Path.ROOT.removeLastSegments(1));
-	assertEquals("4.2", new Path("//"), new Path("//").removeLastSegments(1));
-}
-public void testRemoveTrailingSeparator() {
-
-	IPath with = new Path("/first/second/third/");
-	IPath without = new Path("/first/second/third");
-
-	assertSame("1.0", without, without.removeTrailingSeparator());
-	assertEquals("1.1", without, with.removeTrailingSeparator());
-	// trailing separators have no bearing on path equality so check via
-	// other means....
-	assertTrue("1.2", !with.removeTrailingSeparator().hasTrailingSeparator());
-	assertTrue("1.3", !without.hasTrailingSeparator());
-	assertEquals("1.4", without.toString(), with.removeTrailingSeparator().toString());
-
-	assertSame("2.0", Path.ROOT, Path.ROOT.removeTrailingSeparator());
-	assertEquals("2.1", Path.EMPTY, new Path("").removeTrailingSeparator());
-	
-	assertEquals("3.0", new Path("//"), new Path("//").removeTrailingSeparator());
-	assertEquals("3.1", new Path("//a"), new Path("//a").removeTrailingSeparator());
-	assertEquals("3.2", new Path("//a"), new Path("//a/").removeTrailingSeparator());
-	assertEquals("3.3", new Path("//a/b"), new Path("//a/b").removeTrailingSeparator());
-	assertEquals("3.4", new Path("//a/b"), new Path("//a/b/").removeTrailingSeparator());
-	
-	assertEquals("4.0", new Path("c:"), new Path("c:").removeTrailingSeparator());
-	assertEquals("4.1", new Path("c:/"), new Path("c:/").removeTrailingSeparator());
-	assertEquals("4.2", new Path("c:/a"), new Path("c:/a/").removeTrailingSeparator());
-	assertEquals("4.3", new Path("c:/a/b"), new Path("c:/a/b").removeTrailingSeparator());
-	assertEquals("4.4", new Path("c:/a/b"), new Path("c:/a/b/").removeTrailingSeparator());
-	
-	assertEquals("5.0", new Path("c:a"), new Path("c:a/").removeTrailingSeparator());
-	assertEquals("5.1", new Path("c:a/b"), new Path("c:a/b").removeTrailingSeparator());
-	assertEquals("5.2", new Path("c:a/b"), new Path("c:a/b/").removeTrailingSeparator());
-}
-public void testSegments() {
-
-	IPath anyPath = null;
-	String[] segs = null;
-
-	// Case One: typical case
-	anyPath = new Path("/first/second/third/fourth");
-	segs = anyPath.segments();
-
-	assertEquals("1.0", 4, segs.length);
-	assertEquals("1.1", "first", segs[0]);
-	assertEquals("1.2", "second", segs[1]);
-	assertEquals("1.3", "third", segs[2]);
-	assertEquals("1.4", "fourth", segs[3]);
-
-	// Case Two: trailing separator
-	anyPath = new Path("/first/second/");
-	segs = anyPath.segments();
-
-	assertEquals("2.0", 2, segs.length);
-	assertEquals("2.1", "first", segs[0]);
-	assertEquals("2.2", "second", segs[1]);
-
-	// Case Three: no leading or trailing separators
-	anyPath = new Path("first/second");
-	segs = anyPath.segments();
-
-	assertEquals("3.0", 2, segs.length);
-	assertEquals("3.1", "first", segs[0]);
-	assertEquals("3.2", "second", segs[1]);
-
-	// Case Four: single segment
-	anyPath = new Path("first");
-	segs = anyPath.segments();
-
-	assertEquals("4.0", 1, segs.length);
-	assertEquals("4.1", "first", segs[0]);
-
-	// Case Five(a): no segments
-	anyPath = Path.EMPTY;
-	segs = anyPath.segments();
-
-	assertEquals("5.0", 0, segs.length);
-
-	// Case Five(b): no segments
-	anyPath = Path.ROOT;
-	segs = anyPath.segments();
-
-	assertEquals("6.0", 0, segs.length);
-	
-	// Case Six: UNC path
-	anyPath = new Path("//server/volume/a/b/c");
-	segs = anyPath.segments();
-	assertEquals("7.0", 5, segs.length);
-	assertEquals("7.1", "server", segs[0]);
-	assertEquals("7.2", "volume", segs[1]);
-	assertEquals("7.3", "a", segs[2]);
-	assertEquals("7.4", "b", segs[3]);
-	assertEquals("7.5", "c", segs[4]);
-}
-public void testToString() {
-
-	IPath anyPath = new Path("/first/second/third");
-	assertEquals("1.0", "/first/second/third", anyPath.toString());
-
-	assertEquals("1.1", "/", Path.ROOT.toString());
-	assertEquals("1.2", "", Path.EMPTY.toString());
-}
-public void testUptoSegment() {
-
-	//Case 1, absolute path with no trailing separator
-	IPath anyPath = new Path("/first/second/third");
-
-	assertEquals("1.0", Path.EMPTY, anyPath.uptoSegment(0));
-	assertEquals("1.1", new Path("/first"), anyPath.uptoSegment(1));
-	assertEquals("1.2", new Path("/first/second"), anyPath.uptoSegment(2));
-	assertEquals("1.3", new Path("/first/second/third"), anyPath.uptoSegment(3));
-	assertEquals("1.4", new Path("/first/second/third"), anyPath.uptoSegment(4));
-
-	//Case 2, absolute path with trailing separator
-	anyPath = new Path("/first/second/third/");
-
-	assertEquals("2.0", Path.EMPTY, anyPath.uptoSegment(0));
-	assertEquals("2.1", new Path("/first/"), anyPath.uptoSegment(1));
-	assertEquals("2.2", new Path("/first/second/"), anyPath.uptoSegment(2));
-	assertEquals("2.3", new Path("/first/second/third/"), anyPath.uptoSegment(3));
-	assertEquals("2.4", new Path("/first/second/third/"), anyPath.uptoSegment(4));
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
deleted file mode 100644
index e119a6c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-
-/**
- * Test cases for the Platform API
- */
-public class PlatformTest extends RuntimeTest {
-	private static final String TESTFILE = Platform.getLocation().append("test.user").toOSString();
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public PlatformTest() {
-	super(null);
-}
-public PlatformTest(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.addTest(new PlatformTest("testKeyRing1"));
-	suite.addTest(new PlatformTest("testKeyRing2"));
-	suite.addTest(new PlatformTest("testGetCommandLine"));
-	suite.addTest(new PlatformTest("testGetLocation"));
-//	suite.addTest(new PlatformTest("testRetrievePlugins"));
-	suite.addTest(new PlatformTest("testRunnable"));
-	return suite;
-}
-public void testKeyRing1() {
-	URL serverUrl = null;
-	try {
-		serverUrl = new URL("http://www.hostname.com/");
-	} catch (MalformedURLException e) {
-		assertTrue("e1", false);
-	}
-
-	String realm = "realm1@hostname.com";
-	String authScheme = "Basic";
-	Map info = new Hashtable(2);
-	info.put("username", "nogard");
-	info.put("password", "secret");
-
-	try {
-		Platform.addAuthorizationInfo(serverUrl, realm, authScheme, info);
-	} catch (CoreException e) {
-		assertTrue("e2", false);
-	}
-
-	info = Platform.getAuthorizationInfo(serverUrl, realm, authScheme);
-
-	assertEquals("00", "nogard", info.get("username"));
-	assertEquals("01", "secret", info.get("password"));
-
-	try {
-		Platform.flushAuthorizationInfo(serverUrl, realm, authScheme);
-	} catch (CoreException e) {
-		assertTrue("e3", false);
-	}
-
-	info = Platform.getAuthorizationInfo(serverUrl, realm, authScheme);
-
-	assertTrue("02", info == null);
-}
-public void testKeyRing2() {
-	URL url1 = null;
-	URL url2 = null;
-	try {
-		url1 = new URL("http://www.oti.com/file1");
-		url2 = new URL("http://www.oti.com/folder1/");
-	} catch (MalformedURLException e) {
-		assertTrue("00", false);
-	}
-
-	String realm1 = "realm1";
-	String realm2 = "realm2";
-
-	try {
-		Platform.addProtectionSpace(url1, realm1);
-	} catch (CoreException e) {
-		assertTrue("e0", false);
-	}
-
-	assertEquals("00", realm1, Platform.getProtectionSpace(url1));
-	assertEquals("01", realm1, Platform.getProtectionSpace(url2));
-
-	try {
-		Platform.addProtectionSpace(url2, realm1);
-	} catch (CoreException e) {
-		assertTrue("e1", false);
-	}
-
-	assertEquals("02", realm1, Platform.getProtectionSpace(url1));
-	assertEquals("03", realm1, Platform.getProtectionSpace(url2));
-
-	try {
-		Platform.addProtectionSpace(url2, realm2);
-	} catch (CoreException e) {
-		assertTrue("e2", false);
-	}
-
-	assertTrue("04", Platform.getProtectionSpace(url1) == null);
-	assertEquals("05", realm2, Platform.getProtectionSpace(url2));
-
-	try {
-		Platform.addProtectionSpace(url1, realm1);
-	} catch (CoreException e) {
-		assertTrue("e3", false);
-	}
-
-	assertEquals("05", realm1, Platform.getProtectionSpace(url1));
-	assertEquals("06", realm1, Platform.getProtectionSpace(url2));
-}
-
-public void testGetCommandLine() {
-	assertNotNull("1.0",Platform.getCommandLineArgs());
-}
-public void testGetLocation() {
-	assertNotNull("1.0",Platform.getLocation());
-}
-public void testRetrievePlugins() {
-	assertNull("1.0",Platform.getPlugin(""));
-	assertNull("1.1",Platform.getPlugin("qwert666yuiop"));
-
-	IPluginRegistry registry = Platform.getPluginRegistry();
-	IPluginDescriptor descriptors[] = registry.getPluginDescriptors();
-	
-	for (int i = 0; i < descriptors.length; i++) {
-		assertNotNull("2." + i, Platform.getPlugin(descriptors[i].getUniqueIdentifier()).getDescriptor().getInstallURL());
-		IPath location;
-		try {
-			location = Platform.getPluginStateLocation(descriptors[i].getPlugin());
-			assertTrue("3." + i,true);
-		} catch (CoreException e) {
-			assertTrue("3." + i,false);
-			continue;	// no point continuing this descriptor
-		}
-		
-		assertNotNull("4." + i, location);
-	}
-}
-
-public void testRunnable() {
-	final Vector exceptions = new Vector();
-	
-	ISafeRunnable runnable = new ISafeRunnable() {
-		public void handleException(Throwable exception) {
-			exceptions.addElement(exception);
-		}
-		public void run() throws Exception {
-			throw new Exception("PlatformTest.testRunnable: this exception is thrown on purpose as part of the test.");
-		}
-	};
-	
-	Platform.run(runnable);
-	
-	assertEquals("1.0",exceptions.size(),1);
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
deleted file mode 100644
index 0be0807..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
deleted file mode 100644
index 3b83c29..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-
-/**
- * Tests the Preferences import/export feature.
- */
-public class PreferenceExportTest extends RuntimeTest {
-public static Test suite() {
-	TestSuite suite= new TestSuite(PreferenceExportTest.class);
-	return suite;
-}
-/**
- * Constructor for PreferenceExportTest.
- * @param name
- */
-public PreferenceExportTest(String name) {
-	super(name);
-}
-public PreferenceExportTest() {
-	super("");
-}
-/**
- * Tests that identity tests on preference keys after
- * export/import will still work. This is to safeguard
- * against programming errors in property change listeners.
- * See bug 20193.
- */
-public void testKeyIdentityAfterExport() {
-	final String key = "SomeTestKey";
-	String initialValue = "SomeTestValue";
-	IPath exportPath = new Path(System.getProperty("user.dir")).append(Long.toString(System.currentTimeMillis()));
-	exportPath.toFile().delete();
-	//add a property change listener that asserts key identity
-	Plugin runtime = Platform.getPlugin(Platform.PI_RUNTIME);
-	Preferences prefs = runtime.getPluginPreferences();
-	Preferences.IPropertyChangeListener listener = new Preferences.IPropertyChangeListener() {
-		public void propertyChange(Preferences.PropertyChangeEvent event) {
-			assertTrue("1.0", event.getProperty() == key);
-		}
-	};
-	prefs.addPropertyChangeListener(listener);
-	try {
-		//add a preference on the runtime plugin
-		prefs.setValue(key, initialValue);
-		runtime.savePluginPreferences();
-		
-		//export preferences
-		try {
-			Preferences.exportPreferences(exportPath);
-		} catch (CoreException e) {
-			fail("1.1", e);
-		}
-		
-		//change the property value
-		prefs.setValue(key, "SomeOtherValue");
-		
-		//reimport the property
-		try {
-			Preferences.importPreferences(exportPath);
-		} catch (CoreException e) {
-			fail("1.2", e);
-		}
-		
-		//set the property to default
-		prefs.setToDefault(key);
-		
-		//reimport the property
-		try {
-			Preferences.importPreferences(exportPath);
-		} catch (CoreException e) {
-			fail("1.3", e);
-		}
-	} finally {
-		exportPath.toFile().delete();
-		if (prefs != null)
-			prefs.removePropertyChangeListener(listener);
-	}
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
deleted file mode 100644
index fb599dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.io.*;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Preferences;
-
-/**
- * Test suite for API class org.eclipse.core.runtime.Preferences
- */
-public class PreferencesTest extends RuntimeTest {
-
-	public PreferencesTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		// all test methods are named "test..."
-		TestSuite suite= new TestSuite(PreferencesTest.class);
-		return suite;
-	}
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() {
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() {
-	}
-
-	public void testConstants() {
-		// make sure that the preference store constants are defined properly
-		assertTrue(Preferences.BOOLEAN_DEFAULT_DEFAULT == false);
-		assertTrue(Preferences.INT_DEFAULT_DEFAULT == 0);
-		assertTrue(Preferences.LONG_DEFAULT_DEFAULT == 0L);
-		assertTrue(Preferences.FLOAT_DEFAULT_DEFAULT == 0.0f);
-		assertTrue(Preferences.DOUBLE_DEFAULT_DEFAULT == 0.0);
-		assertTrue(Preferences.STRING_DEFAULT_DEFAULT.equals(""));
-	}
-
-	public void testBasics() {
-		
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final String v1 = "1";
-		final String v2 = "2";
-		final String v3 = "3";
-
-		// check that a random property in a newly created store
-		// appearchs to have default-default values of whatever type asked for
-		assertTrue("1.0", ps.isDefault(k1) == true);
-		assertTrue("1.1", ps.getBoolean(k1) == Preferences.BOOLEAN_DEFAULT_DEFAULT);
-		assertTrue("1.2", ps.getInt(k1) == Preferences.INT_DEFAULT_DEFAULT);
-		assertTrue("1.3", ps.getLong(k1) == Preferences.LONG_DEFAULT_DEFAULT);
-		assertTrue("1.4", ps.getFloat(k1) == Preferences.FLOAT_DEFAULT_DEFAULT);
-		assertTrue("1.5", ps.getDouble(k1) == Preferences.DOUBLE_DEFAULT_DEFAULT);
-		assertTrue("1.6", ps.getString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-
-		assertTrue("1.7", ps.getDefaultBoolean(k1) == Preferences.BOOLEAN_DEFAULT_DEFAULT);
-		assertTrue("1.8", ps.getDefaultInt(k1) == Preferences.INT_DEFAULT_DEFAULT);
-		assertTrue("1.9", ps.getDefaultLong(k1) == Preferences.LONG_DEFAULT_DEFAULT);
-		assertTrue("1.10", ps.getDefaultFloat(k1) == Preferences.FLOAT_DEFAULT_DEFAULT);
-		assertTrue("1.11", ps.getDefaultDouble(k1) == Preferences.DOUBLE_DEFAULT_DEFAULT);
-		assertTrue("1.12", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		
-		
-		// test set/getString
-		// give it a value
-		ps.setValue(k1, v1);
-		assertTrue("2.0", ps.isDefault(k1) == false);
-		assertTrue("2.1", ps.getString(k1).equals(v1));
-		assertTrue("2.2", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		// change the value
-		ps.setValue(k1, v2);
-		assertTrue("2.3", ps.isDefault(k1) == false);
-		assertTrue("2.4", ps.getString(k1).equals(v2));
-		assertTrue("2.5", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		// change to same value as default
-		ps.setValue(k1, ps.getDefaultString(k1));
-		assertTrue("2.6", ps.isDefault(k1) == true);
-		assertTrue("2.7", ps.getString(k1).equals(ps.getDefaultString(k1)));
-		assertTrue("2.8", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		// reset to default
-		ps.setValue(k1, v2);
-		ps.setToDefault(k1);
-		assertTrue("2.9", ps.isDefault(k1) == true);
-		assertTrue("2.10", ps.getString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		assertTrue("2.11", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-		// change default
-		ps.setDefault(k1, v1);
-		assertTrue("2.12", ps.isDefault(k1) == true);
-		assertTrue("2.13", ps.getString(k1).equals(v1));
-		assertTrue("2.14", ps.getDefaultString(k1).equals(v1));
-		// set the value
-		ps.setValue(k1, v2);
-		assertTrue("2.15", ps.isDefault(k1) == false);
-		assertTrue("2.16", ps.getString(k1).equals(v2));
-		assertTrue("2.17", ps.getDefaultString(k1).equals(v1));
-		// change to same value as default
-		ps.setValue(k1, ps.getDefaultString(k1));
-		assertTrue("2.18", ps.isDefault(k1) == true);
-		assertTrue("2.19", ps.getString(k1).equals(ps.getDefaultString(k1)));
-		assertTrue("2.20", ps.getDefaultString(k1).equals(v1));
-		// reset to default
-		ps.setValue(k1, v2);
-		ps.setToDefault(k1);
-		assertTrue("2.21", ps.isDefault(k1) == true);
-		assertTrue("2.22", ps.getString(k1).equals(v1));
-		assertTrue("2.23", ps.getDefaultString(k1).equals(v1));
-		// change default
-		ps.setDefault(k1, v3);
-		assertTrue("2.24", ps.isDefault(k1) == true);
-		assertTrue("2.25", ps.getString(k1).equals(v3));
-		assertTrue("2.26", ps.getDefaultString(k1).equals(v3));
-								
-	}
-	
-	public void testBoolean() {
-		
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-
-		assertEquals("1.0", false, Preferences.BOOLEAN_DEFAULT_DEFAULT);
-		assertEquals("1.1", Preferences.BOOLEAN_DEFAULT_DEFAULT, ps.getBoolean(k1));
-
-		ps.setValue(k1, true);
-		assertEquals("1.2", true, ps.getBoolean(k1));
-		ps.setValue(k1, false);
-		assertEquals("1.3", false, ps.getBoolean(k1));
-		
-		ps.setDefault(k1, true);
-		assertEquals("1.4", true, ps.getDefaultBoolean(k1));
-		ps.setDefault(k1, false);
-		assertEquals("1.5", false, ps.getDefaultBoolean(k1));
-		
-	}
-
-	public void testInteger() {
-
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final int[] values = { 0, 1002, -201788, Integer.MAX_VALUE, Integer.MIN_VALUE};
-
-		assertEquals("1.0", 0, Preferences.INT_DEFAULT_DEFAULT);
-		assertEquals("1.1", Preferences.INT_DEFAULT_DEFAULT, ps.getInt(k1));
-
-		for (int i = 0; i < values.length; i++) {
-			int v1 = values[i];
-			int v2 = v1 + 1;
-			ps.setValue(k1, v1);
-			assertEquals("1.2", v1, ps.getInt(k1));
-			ps.setDefault(k1, v2);
-			assertEquals("1.3", v2, ps.getDefaultInt(k1));
-		}
-	}
-	
-	public void testLong() {
-
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final long[] values = { 0L, 1002L, -201788L, Long.MAX_VALUE, Long.MIN_VALUE};
-
-		assertEquals("1.0", 0L, Preferences.LONG_DEFAULT_DEFAULT);
-		assertEquals("1.1", Preferences.LONG_DEFAULT_DEFAULT, ps.getLong(k1));
-
-		for (int i = 0; i < values.length; i++) {
-			long v1 = values[i];
-			long v2 = v1 + 1;
-			ps.setValue(k1, v1);
-			assertEquals("1.2", v1, ps.getLong(k1));
-			ps.setDefault(k1, v2);
-			assertEquals("1.3", v2, ps.getDefaultLong(k1));
-		}
-	}
-	
-	public void testFloat() {
-
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final float[] values = { 0.0f, 1002.5f, -201788.55f, Float.MAX_VALUE, Float.MIN_VALUE};
-		final float tol = 1.0e-20f;
-		
-		assertEquals("1.0", 0.0f, Preferences.FLOAT_DEFAULT_DEFAULT, tol);
-		assertEquals("1.1", Preferences.FLOAT_DEFAULT_DEFAULT, ps.getFloat(k1), tol);
-
-		for (int i = 0; i < values.length; i++) {
-			float v1 = values[i];
-			float v2 = v1 + 1.0f;
-			ps.setValue(k1, v1);
-			assertEquals("1.2", v1, ps.getFloat(k1), tol);
-			ps.setDefault(k1, v2);
-			assertEquals("1.3", v2, ps.getDefaultFloat(k1), tol);
-		}
-		
-		try {
-			ps.setValue(k1, Float.NaN);
-			assertTrue("1.4", false);
-		} catch (IllegalArgumentException e) {
-			// NaNs should be rejected
-		}
-			
-	}
-	
-	public void testDouble() {
-
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final double[] values = { 0.0, 1002.5, -201788.55, Double.MAX_VALUE, Double.MIN_VALUE};
-		final double tol = 1.0e-20;
-
-		assertEquals("1.0", 0.0, Preferences.DOUBLE_DEFAULT_DEFAULT, tol);
-		assertEquals("1.1", Preferences.DOUBLE_DEFAULT_DEFAULT, ps.getDouble(k1), tol);
-
-		for (int i = 0; i < values.length; i++) {
-			double v1 = values[i];
-			double v2 = v1 + 1.0;
-			ps.setValue(k1, v1);
-			assertEquals("1.2", v1, ps.getDouble(k1), tol);
-			ps.setDefault(k1, v2);
-			assertEquals("1.3", v2, ps.getDefaultDouble(k1), tol);
-		}
-
-		try {
-			ps.setValue(k1, Float.NaN);
-			assertTrue("1.4", false);
-		} catch (IllegalArgumentException e) {
-			// NaNs should be rejected
-		}
-			
-	}
-	
-	public void testString() {
-
-		Preferences ps = new Preferences();
-		final String k1 = "key1";
-		final String[] values = {"", "hello", " x ", "\n"};
-
-		assertEquals("1.0", "", Preferences.STRING_DEFAULT_DEFAULT);
-		assertEquals("1.1", ps.getString(k1), Preferences.STRING_DEFAULT_DEFAULT);
-
-		for (int i = 0; i < values.length; i++) {
-			String v1 = values[i];
-			String v2 = v1 + "x";
-			ps.setValue(k1, v1);
-			assertEquals("1.2", v1, ps.getString(k1));
-			ps.setDefault(k1, v2);
-			assertEquals("1.3", v2, ps.getDefaultString(k1));
-		}
-	}
-	
-	public void testPropertyNames() {
-
-		Preferences ps = new Preferences();
-		
-		// there are no properties initially
-		assertEquals("1.0", 0, ps.propertyNames().length);
-		
-		String[] keys = {"a", "b", "c", "d"};
-		
-		// setting defaults does not add name to set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setDefault(keys[i], "default");
-		}
-		assertEquals("1.1", 0, ps.propertyNames().length);
-
-		// setting real values does add name to set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setValue(keys[i], "actual");
-		}
-		assertEquals("1.2", keys.length, ps.propertyNames().length);
-		
-		Set s1 = new HashSet(Arrays.asList(keys));
-		Set s2 = new HashSet(Arrays.asList(ps.propertyNames()));
-		assertEquals("1.3", s1, s2);
-		
-		// setting to default does remove name from set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setToDefault(keys[i]);
-			Set s = new HashSet(Arrays.asList(ps.propertyNames()));
-			assertTrue("1.4", !s.contains(keys[i]));
-		}
-		assertEquals("1.5", 0, ps.propertyNames().length);
-	}
-	
-	public void testContains() {
-
-		Preferences ps = new Preferences();
-		
-		// there are no properties initially
-		assertEquals("1.0", false, ps.contains("a"));
-		
-		// setting defaults adds name
-		ps.setDefault("a", "default");
-		assertEquals("1.1", true, ps.contains("a"));
-
-		// setting value adds name
-		assertEquals("1.2", false, ps.contains("b"));
-		ps.setValue("b", "any");
-		assertEquals("1.3", true, ps.contains("b"));
-		
-		// setting value does not remove entry already there
-		ps.setValue("a", "any");
-		assertEquals("1.4", true, ps.contains("a"));
-		assertEquals("1.5", true, ps.contains("b"));
-		
-		// setting to default removes name from set unless there is a default too
-		ps.setToDefault("b");
-		assertEquals("1.6", false, ps.contains("b"));
-		ps.setToDefault("a");
-		assertEquals("1.7", true, ps.contains("a"));
-	}
-	
-	public void testDefaultPropertyNames() {
-
-		Preferences ps = new Preferences();
-		
-		// there are no default properties initially
-		assertEquals("1.0", 0, ps.defaultPropertyNames().length);
-		
-		String[] keys = {"a", "b", "c", "d"};
-		
-		// setting actual values does not add name to set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setValue(keys[i], "actual");
-		}
-		assertEquals("1.1", 0, ps.defaultPropertyNames().length);
-
-		// setting defaults does add name to set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setDefault(keys[i], "default");
-		}
-		assertEquals("1.2", keys.length, ps.defaultPropertyNames().length);
-		
-		Set s1 = new HashSet(Arrays.asList(keys));
-		Set s2 = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-		assertEquals("1.3", s1, s2);
-		
-		// setting to default does not remove name from set
-		for (int i = 0; i < keys.length; i++) {
-			ps.setToDefault(keys[i]);
-			Set s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.4", s.contains(keys[i]));
-		}
-		assertEquals("1.5", keys.length, ps.defaultPropertyNames().length);
-		
-		// setting to default-default does not remove name from set either
-		for (int i = 0; i < keys.length; i++) {
-			ps.setDefault(keys[i], Preferences.STRING_DEFAULT_DEFAULT);
-			Set s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.1", s.contains(keys[i]));
-			
-			ps.setDefault(keys[i], Preferences.BOOLEAN_DEFAULT_DEFAULT);
-			s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.2", s.contains(keys[i]));
-
-			ps.setDefault(keys[i], Preferences.INT_DEFAULT_DEFAULT);
-			s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.3", s.contains(keys[i]));
-
-			ps.setDefault(keys[i], Preferences.LONG_DEFAULT_DEFAULT);
-			s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.4", s.contains(keys[i]));
-
-			ps.setDefault(keys[i], Preferences.FLOAT_DEFAULT_DEFAULT);
-			s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.5", s.contains(keys[i]));
-
-			ps.setDefault(keys[i], Preferences.DOUBLE_DEFAULT_DEFAULT);
-			s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
-			assertTrue("1.6.6", s.contains(keys[i]));
-		}
-		assertEquals("1.7", keys.length, ps.defaultPropertyNames().length);
-	}
-	
-	public void testListeners() {
-
-		final Preferences ps = new Preferences();
-		
-		class Tracer implements Preferences.IPropertyChangeListener {
-			public StringBuffer log = new StringBuffer();
-			
-			private String typeCode(Object value) {
-				if (value == null) {
-					return "";
-				}
-				if (value instanceof Boolean) {
-					return "B";
-				}
-				if (value instanceof Integer) {
-					return "I";
-				}
-				if (value instanceof Long) {
-					return "L";
-				}
-				if (value instanceof Float) {
-					return "F";
-				}
-				if (value instanceof Double) {
-					return "D";
-				}
-				if (value instanceof String) {
-					return "S";
-				}
-				assertTrue("0.0", false);
-				return null;
-			}
-
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				log.append("[");
-				log.append(event.getProperty());
-				log.append(":");
-				log.append(typeCode(event.getOldValue()));
-				log.append(event.getOldValue() == null ? "null" : event.getOldValue());
-				log.append("->");
-				log.append(typeCode(event.getNewValue()));
-				log.append(event.getNewValue() == null ? "null" : event.getNewValue());
-				log.append("]");
-			}
-		}
-		
-		final Tracer tracer1 = new Tracer();
-		final Tracer tracer2 = new Tracer();
-		
-		// register one listener
-		ps.addPropertyChangeListener(tracer1);
-		assertEquals("1.0", "", tracer1.log.toString());
-		
-		// make sure it is notified in a type appropriate manner
-		ps.setValue("a", "1");
-		assertEquals("1.0.1", "[a:S->S1]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", true);
-		assertEquals("1.0.2", "[a:Bfalse->Btrue]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", 100);
-		assertEquals("1.0.3", "[a:I0->I100]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", 100L);
-		assertEquals("1.0.4", "[a:L0->L100]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", 2.0f);
-		assertEquals("1.0.5", "[a:F0.0->F2.0]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", 2.0);
-		assertEquals("1.0.6", "[a:D0.0->D2.0]", tracer1.log.toString());
-
-		// make sure it is notified of a series of events
-		ps.setToDefault("a");
-		tracer1.log.setLength(0);
-		ps.setValue("a", "1");
-		assertEquals("1.1", "[a:S->S1]", tracer1.log.toString());
-
-		ps.setValue("a", "2");
-		assertEquals("1.2", "[a:S->S1][a:S1->S2]", tracer1.log.toString());
-
-		ps.setValue("a", ps.getDefaultString("a"));
-		assertEquals("1.2.1", "[a:S->S1][a:S1->S2][a:S2->S]", tracer1.log.toString());
-
-		ps.setValue("a", "3");
-		assertEquals("1.2.2", "[a:S->S1][a:S1->S2][a:S2->S][a:S->S3]", tracer1.log.toString());
-
-		ps.setToDefault("a");
-		assertEquals("1.2.3", "[a:S->S1][a:S1->S2][a:S2->S][a:S->S3][a:S3->null]", tracer1.log.toString());
-
-		// change to same value - no one notified
-		ps.setValue("a", "2");
-		tracer1.log.setLength(0);
-		assertEquals("1.3", "", tracer1.log.toString());
-
-		// register second listener
-		ps.addPropertyChangeListener(tracer2);
-
-		// make sure both are notified
-		ps.setValue("a", "3");
-		assertEquals("1.4", "[a:S2->S3]", tracer1.log.toString());
-		assertEquals("1.5", "[a:S2->S3]", tracer2.log.toString());
-		
-		// deregister is honored
-		ps.removePropertyChangeListener(tracer2);
-		tracer1.log.setLength(0);
-		tracer2.log.setLength(0);
-		ps.setValue("a", "1");
-		assertEquals("1.6", "[a:S3->S1]", tracer1.log.toString());
-		assertEquals("1.7", "", tracer2.log.toString());
-		
-		// duplicate deregister is ignored
-		ps.removePropertyChangeListener(tracer2);
-		tracer1.log.setLength(0);
-		tracer2.log.setLength(0);
-		ps.setValue("a", "2");
-		assertEquals("1.8", "[a:S1->S2]", tracer1.log.toString());
-		assertEquals("1.9", "", tracer2.log.toString());
-		
-		// duplicate register is ignored
-		ps.addPropertyChangeListener(tracer1);
-		tracer1.log.setLength(0);
-		ps.setValue("a", "1");
-		assertEquals("1.10", "[a:S2->S1]", tracer1.log.toString());
-		
-		// last deregister is honored
-		ps.removePropertyChangeListener(tracer1);
-		tracer1.log.setLength(0);
-		ps.setValue("a", "4");
-		assertEquals("1.11", "", tracer1.log.toString());
-		
-		
-		// adds 2 and removes 1 during during callback!
-		class Trouble implements Preferences.IPropertyChangeListener {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				ps.removePropertyChangeListener(tracer1);
-				ps.addPropertyChangeListener(tracer2);
-			}
-		}
-		
-		ps.setValue("a", "0");
-		ps.addPropertyChangeListener(tracer1);
-		ps.addPropertyChangeListener(new Trouble());
-		tracer1.log.setLength(0);
-		tracer2.log.setLength(0);
-		ps.setValue("a", "1");
-		ps.setValue("a", "2");
-		assertEquals("1.12", "[a:S0->S1]", tracer1.log.toString());
-		assertEquals("1.13", "[a:S1->S2]", tracer2.log.toString());
-		
-	}
-	
-	public void testLoadStore() {
-
-		final Preferences ps = new Preferences();
-		
-		ps.setValue("b1", true);
-		ps.setValue("i1", 1);
-		ps.setValue("l1", 2L);
-		ps.setValue("f1", 1.0f);
-		ps.setValue("d1", 1.0);
-		ps.setValue("s1", "x");
-		String[] keys = {"b1", "i1", "l1", "f1", "d1", "s1", };
-		
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		try {
-			ps.store(out, "test header");
-		} catch (IOException e) {
-			assertTrue("0.1", false);
-		}
-
-		ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-				
-		final Preferences ps2 = new Preferences();
-		try {
-			ps2.load(in);
-		} catch (IOException e) {
-			assertTrue("0.2", false);
-		}
-		
-		assertEquals("1.1", true, ps2.getBoolean("b1"));
-		assertEquals("1.2", 1, ps2.getInt("i1"));
-		assertEquals("1.3", 2L, ps2.getLong("l1"));
-		assertEquals("1.4", 1.0f, ps2.getFloat("f1"), 1e-20f);
-		assertEquals("1.5", 1.0, ps2.getDouble("d1"), 1e-20);
-		assertEquals("1.6", "x", ps2.getString("s1"));
-
-		Set s1 = new HashSet(Arrays.asList(keys));
-		Set s2 = new HashSet(Arrays.asList(ps2.propertyNames()));
-		assertEquals("1.7", s1, s2);
-
-		// load discards current values
-		in = new ByteArrayInputStream(out.toByteArray());
-		final Preferences ps3 = new Preferences();
-		ps3.setValue("s1", "y");
-		try {
-			ps3.load(in);
-			assertEquals("1.8", "x", ps3.getString("s1"));
-			Set k1 = new HashSet(Arrays.asList(keys));
-			Set k2 = new HashSet(Arrays.asList(ps3.propertyNames()));
-			assertEquals("1.9", k1, k2);
-		} catch (IOException e) {
-			assertTrue("1.10", false);
-		}
-		
-	}
-	
-	public void testNeedsSaving() {
-
-		Preferences ps = new Preferences();
-		
-		// setValue dirties
-		ps = new Preferences();
-		assertEquals("1.0", false, ps.needsSaving());
-		ps.setValue("b1", true);
-		assertEquals("1.1", true, ps.needsSaving());
-
-		ps = new Preferences();
-		assertEquals("2.0", false, ps.needsSaving());
-		ps.setValue("i1", 1);
-		assertEquals("2.1", true, ps.needsSaving());
-
-		ps = new Preferences();
-		assertEquals("3.0", false, ps.needsSaving());
-		ps.setValue("l1", 2L);
-		assertEquals("3.1", true, ps.needsSaving());
-
-		ps = new Preferences();
-		assertEquals("4.0", false, ps.needsSaving());
-		ps.setValue("f1", 1.0f);
-		assertEquals("4.1", true, ps.needsSaving());
-
-		ps = new Preferences();
-		assertEquals("5.0", false, ps.needsSaving());
-		ps.setValue("d1", 1.0);
-		assertEquals("5.1", true, ps.needsSaving());
-
-		ps = new Preferences();
-		assertEquals("6.0", false, ps.needsSaving());
-		ps.setValue("s1", "x");
-		assertEquals("6.1", true, ps.needsSaving());
-
-		// setToDefault does not dirty if value not set
-		ps = new Preferences();
-		assertEquals("7.0", false, ps.needsSaving());
-		ps.setToDefault("any");
-		assertEquals("7.1", false, ps.needsSaving());
-
-		// setToDefault dirties if value was set
-		try {
-			ps = new Preferences();
-			assertEquals("7.2", false, ps.needsSaving());
-			ps.setValue("any", "x");
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			ps.store(out, "test header");
-			ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-			ps.load(in);
-			assertEquals("7.3", false, ps.needsSaving());
-			ps.setToDefault("any");
-			assertEquals("7.4", true, ps.needsSaving());
-		} catch (IOException e) {
-			assertTrue("7.5", false);
-		}
-
-		// setDefault, getT, getDefaultT do not dirty
-		ps = new Preferences();
-		assertEquals("8.0", false, ps.needsSaving());
-		ps.setDefault("b1", true);
-		ps.getBoolean("b1");
-		ps.getDefaultBoolean("b1");
-		ps.setDefault("i1", 1);
-		ps.getInt("i1");
-		ps.getDefaultInt("i1");
-		ps.setDefault("l1", 1L);
-		ps.getLong("l1");
-		ps.getDefaultLong("l1");
-		ps.setDefault("f1", 1.0f);
-		ps.getFloat("f1");
-		ps.getDefaultFloat("f1");
-		ps.setDefault("d1", 1.0);
-		ps.getDouble("d1");
-		ps.getDefaultDouble("d1");
-		ps.setDefault("s1", "x");
-		ps.getString("s1");
-		ps.getDefaultString("s1");
-		assertEquals("8.1", false, ps.needsSaving());
-
-		try {
-			ps = new Preferences();
-			assertEquals("9.1", false, ps.needsSaving());
-			ps.setValue("b1", true);
-			assertEquals("9.2", true, ps.needsSaving());
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			
-			// store makes not dirty
-			ps.store(out, "test header");
-			assertEquals("9.3", false, ps.needsSaving());
-			
-			// load comes in not dirty
-			ps.setValue("b1", false);
-			assertEquals("9.4", true, ps.needsSaving());
-			ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-			ps.load(in);
-			assertEquals("9.5", false, ps.needsSaving());
-		} catch (IOException e) {
-			assertTrue("9.0", false);
-		}
-	}
-	
-/* Comment this test out until we are able to use session tests
- * with it. - ddw
- * 	public void testPluginPrefs() {
-		IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-		IPluginDescriptor resPlugin = registry.getPluginDescriptor("org.eclipse.core.resources");
-		Preferences perfs = null;
-		try {
-			perfs = resPlugin.getPlugin().getPluginPreferences();
-		} catch (CoreException ce) {
-			fail("0.1 core exception from getPlugin");
-		}
-		boolean oneBoolean = perfs.getBoolean("OneBoolean");
-		double oneDouble = perfs.getDouble("OneDouble");
-		float oneFloat = perfs.getFloat("OneFloat");
-		int oneInt = perfs.getInt("OneInt");
-		long oneLong = perfs.getLong("OneLong");
-		String oneString = perfs.getString("OneString");
-		assertTrue("1.0 boolean", oneBoolean);
-		assertTrue("2.0 double", oneDouble == 4);
-		assertTrue("3.0 float", oneFloat ==	4.3f);
-		assertTrue("4.0 int", oneInt == 5);
-		assertTrue("5.0 long", oneLong == 6);
-		assertTrue("6.0 string", oneString.equals("A string from the plugin root directory"));
-		int a = 4;
-		int b = 3;
-	}
-*/
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
deleted file mode 100644
index 309d838..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class ProgressMonitorWrapperTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public ProgressMonitorWrapperTest() {
-	super(null);
-}
-public ProgressMonitorWrapperTest(String name) {
-	super(name);
-}
-public static Test suite() {
-	return new TestSuite(ProgressMonitorWrapperTest.class);
-}
-public void testProgressMonitorWrapper() {
-	NullProgressMonitor nullMonitor = new NullProgressMonitor();
-	SubProgressMonitor wrapped = new SubProgressMonitor(nullMonitor,10);
-	ProgressMonitorWrapper wrapper = new ProgressMonitorWrapper(wrapped) {};
-	
-	assertSame("1.0",nullMonitor,wrapped.getWrappedProgressMonitor());
-	assertSame("1.1",wrapped,wrapper.getWrappedProgressMonitor());
-	
-	assertTrue("1.2",!nullMonitor.isCanceled());
-	assertTrue("1.3",!wrapped.isCanceled());
-	assertTrue("1.4",!wrapper.isCanceled());
-	
-	nullMonitor.setCanceled(true);
-	assertTrue("1.5",nullMonitor.isCanceled());
-	assertTrue("1.6",wrapped.isCanceled());
-	assertTrue("1.7",wrapper.isCanceled());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
deleted file mode 100644
index d31ae04..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the QualifiedName class.
- */
-
-public class QualifiedNameTest extends RuntimeTest {
-
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public QualifiedNameTest() {
-	super(null);
-}
-
-/**
- * Constructor for QualifiedNameTest
- */
-public QualifiedNameTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-
-	TestSuite suite= new TestSuite();
-	suite.addTest(new QualifiedNameTest("testQualifiers"));
-	suite.addTest(new QualifiedNameTest("testLocalNames"));
-	suite.addTest(new QualifiedNameTest("testEqualsAndHashcode"));
-	return suite;
-}
-
-public void testQualifiers() {
-	
-	try {
-		new QualifiedName("foo","bar");
-	} catch (Exception e) {
-		fail("1.0");
-	}
-	
-	try {
-		new QualifiedName(null,"bar");
-	} catch (Exception e) {
-		fail("1.1");
-	}
-
-	try {
-		new QualifiedName(" ","bar");
-	} catch (Exception e) {
-		fail("1.2");
-	}
-	
-	try {
-		new QualifiedName("","bar");
-	} catch (Exception e) {
-		fail("1.3");
-	}
-	
-}
-	
-public void testLocalNames() {
-	
-	try {
-		new QualifiedName("foo", null);
-		fail("2.0");
-	} catch (Exception e) {
-	}
-	
-	try {
-		new QualifiedName("foo","");
-		fail("2.1");
-	} catch (Exception e) {
-	}
-	
-	try {
-		new QualifiedName("foo"," ");
-	} catch (Exception e) {
-		fail("2.2");
-	}
-	
-	try {
-		new QualifiedName("foo"," port ");
-	} catch (Exception e) {
-		fail("2.3");
-	}	
-	
-}
-
-public void testEqualsAndHashcode() {
-	
-	QualifiedName qN1 = new QualifiedName("org.eclipse.runtime", "myClass");
-	QualifiedName qN2 = new QualifiedName("org.eclipse.runtime", "myClass");	
-	assertTrue("1.0", qN1.equals(qN2));
-	assertTrue("1.1", qN2.equals(qN1));
-	assertEquals("1.2", qN1.hashCode(), qN2.hashCode());
-	
-	
-	assertTrue("2.0", !qN1.equals(new String("org.eclipse.runtime.myClass")));
-	
-	
-	QualifiedName qN3 = new QualifiedName(null,"myClass");
-	assertTrue("3.0", !qN1.equals(qN3));
-	
-	QualifiedName qN4 = new QualifiedName("org.eclipse.runtime", " myClass");
-	assertTrue("3.1", !qN1.equals(qN4));
-	
-	QualifiedName qN5 = new QualifiedName("org.eclipse.runtime", "myClass ");
-	assertTrue("3.2", !qN1.equals(qN5));
-	
-	QualifiedName qN6 = new QualifiedName( null, "myClass");
-	QualifiedName qN7 = new QualifiedName( null, "myClass");
-	assertTrue("4.0", qN6.equals(qN7));
-	assertTrue("4.1", qN7.equals(qN6));
-	assertEquals("4.2", qN7.hashCode(), qN6.hashCode());
-	
-	QualifiedName qN8 = new QualifiedName(" ", "myClass");
-	assertTrue("5.0", ! qN8.equals(qN7));
-	QualifiedName qN9 = new QualifiedName("", "myClass");
-	assertTrue("5.1", ! qN8.equals(qN9));
-	
-}
-
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
deleted file mode 100644
index 741e1da..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.TestCase;
-/**
- * Common superclass for all runtime tests.
- */
-public abstract class RuntimeTest extends TestCase {
-/**
- * Constructor required by test framework.
- */
-public RuntimeTest(String name) {
-	super(name);
-}
-/**
- * Fails the test due to the given exception.
- * @param message
- * @param e
- */
-public void fail(String message, Exception e) {
-	fail(message + ": " + e);
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
deleted file mode 100644
index 5416134..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.Arrays;
-import junit.framework.*;
-
-public class StatusTest extends RuntimeTest {
-	
-private int status1Severity = IStatus.OK;
-private String status1PluginId = "org.eclipse.core.tests.runtime";
-private int status1Code = -20;
-private String status1Message = "Something was canceled";
-private Exception status1Exception = new OperationCanceledException();
-private Status status1;
-
-private int status2Severity = IStatus.ERROR;
-private String status2PluginId = " ";
-private int status2Code = IStatus.OK;
-private String status2Message = "";
-private Exception status2Exception = null;
-private Status status2;
-
-private String multistatus1PluginId = "org.eclipse.core.tests.multistatus1";
-private int multistatus1Code = 20;
-private IStatus[] multistatus1Children = new IStatus[0];
-private String multistatus1Message = "Multistatus #1 message";
-private Throwable multistatus1Exception = new OperationCanceledException();
-private MultiStatus multistatus1;
-
-private MultiStatus multistatus2;
-	
-public StatusTest() {
-	super(null);
-}
-
-public StatusTest(String name) {
-	super(name);
-}
-
-public static Test suite() {
-	TestSuite suite= new TestSuite();
-	suite.addTest(new StatusTest("testSingleStatusReturnValues"));
-	suite.addTest(new StatusTest("testMultiStatusReturnValues"));
-	suite.addTest(new StatusTest("testAdd"));
-	suite.addTest(new StatusTest("testAddAll"));
-	suite.addTest(new StatusTest("testIsOK"));
-	suite.addTest(new StatusTest("testMerge"));
-	return suite;
-}
-
-protected void setUp() {
-	status1 = new Status(status1Severity, status1PluginId, status1Code, status1Message, status1Exception);
-	status2 = new Status(status2Severity, status2PluginId, status2Code, status2Message, status2Exception);
-
-	multistatus1 = new MultiStatus(multistatus1PluginId, multistatus1Code, multistatus1Children, multistatus1Message, multistatus1Exception);
-	multistatus2 = new MultiStatus(" ", 45, new Status[0], "", null);
-	multistatus2.add(status1);
-	multistatus2.add(status1);	
-}
-
-public void testMultiStatusReturnValues() {
-	assertEquals("1.1", multistatus1PluginId, multistatus1.getPlugin());
-	assertEquals("1.2", multistatus1Code, multistatus1.getCode());
-	assertTrue("1.3", Arrays.equals(multistatus1Children, multistatus1.getChildren()));
-	assertEquals("1.4", multistatus1Message, multistatus1.getMessage());
-	assertEquals("1.5", multistatus1Exception, multistatus1.getException());
-	assertTrue("1.6", multistatus1.isMultiStatus());
-	assertEquals("1.7", IStatus.OK, multistatus1.getSeverity());
-	assertTrue("1.8", multistatus1.isOK());
-	assertEquals("1.9", false, status1.matches(IStatus.ERROR | IStatus.WARNING | IStatus.INFO));
-}
-
-public void testSingleStatusReturnValues() {
-	assertEquals("1.0", status1Severity, status1.getSeverity());
-	assertEquals("1.1", status1PluginId, status1.getPlugin());
-	assertEquals("1.2", status1Code, status1.getCode());
-	assertEquals("1.3", status1Message, status1.getMessage());
-	assertEquals("1.4", status1Exception, status1.getException());
-	assertEquals("1.5", 0, status1.getChildren().length);
-	assertEquals("1.6", false, status1.isMultiStatus());
-	assertEquals("1.7", status1Severity == IStatus.OK, status1.isOK());
-	assertEquals("1.8", status1.matches(IStatus.ERROR | IStatus.WARNING | IStatus.INFO), !status1.isOK());
-
-	assertEquals("2.0", status2Severity, status2.getSeverity());
-	assertEquals("2.1", status2PluginId, status2.getPlugin());
-	assertEquals("2.2", status2Code, status2.getCode());
-	assertEquals("2.3", status2Message, status2.getMessage());
-	assertEquals("2.4", status2Exception, status2.getException());
-	assertEquals("2.5", 0, status2.getChildren().length);
-	assertEquals("2.6", false, status2.isMultiStatus());
-	assertEquals("2.7", status2Severity == IStatus.OK, status2.isOK());
-	assertEquals("2.8", status2.matches(IStatus.ERROR), !status2.isOK());
-}
-
-public void testAdd() {
-	
-	multistatus1.add(status1);
-	assertEquals("1.0",status1, (multistatus1.getChildren())[0]);
-	
-	multistatus1.add(multistatus2);
-	assertEquals("1.1",multistatus2, (multistatus1.getChildren())[1]);
-	
-	multistatus1.add(multistatus1);
-	assertEquals("1.2",multistatus1, (multistatus1.getChildren())[2]);
-	
-}
-
-public void testAddAll() {
-	
-	multistatus1.add(status2);
-	multistatus1.addAll(multistatus2);		
-	Status[] array = new Status[3];
-	array[0] = status2;
-	array[1] = status1;
-	array[2] = status1;
-	
-	assertTrue("1.0", multistatus1.getChildren().length == 3);
-	assertTrue("1.1", Arrays.equals(array, multistatus1.getChildren()));
-	
-	
-	multistatus1.add(multistatus2);
-	multistatus1.addAll(multistatus1);
-	Status[] array2 = new Status[8];
-	array2[0] = status2;
-	array2[1] = status1;
-	array2[2] = status1;
-	array2[3] = multistatus2;
-	array2[4] = status2;
-	array2[5] = status1;
-	array2[6] = status1;
-	array2[7] = multistatus2;
-	
-	assertTrue("2.0", multistatus1.getChildren().length == 8);
-	assertTrue("2.1", Arrays.equals(array2, multistatus1.getChildren()));	
-	
-}
-
-public void testIsOK() {
-
-	assertTrue("1.0", multistatus2.isOK());
-	
-	multistatus1.add(status2);
-	multistatus1.addAll(multistatus2);
-	assertTrue("1.1", !multistatus1.isOK());
-	
-}
-
-public void testMerge() {
-
-	multistatus1.merge(status2);
-	multistatus1.merge(multistatus2);		
-	Status[] array = new Status[3];
-	array[0] = status2;
-	array[1] = status1;
-	array[2] = status1;
-	
-	assertTrue("1.0", multistatus1.getChildren().length == 3);
-	assertTrue("1.1", Arrays.equals(array, multistatus1.getChildren()));
-	
-	
-	multistatus1.merge(multistatus1);
-	Status[] array2 = new Status[6];
-	array2[0] = status2;
-	array2[1] = status1;
-	array2[2] = status1;
-	array2[3] = status2;
-	array2[4] = status1;
-	array2[5] = status1;
-	
-	assertTrue("2.0", multistatus1.getChildren().length == 6);
-	assertTrue("2.1", Arrays.equals(array2, multistatus1.getChildren()));
-	
-	
-	multistatus2.add(multistatus1);
-	assertTrue("3.0", ! multistatus2.isOK());
-	multistatus2.merge(multistatus2.getChildren()[2]);
-	assertTrue("3.1", multistatus2.getChildren().length == 9);
-	
-}
-	
-	
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java
deleted file mode 100644
index 1d48028..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java
+++ /dev/null
Binary files differ