This commit was manufactured by cvs2svn to create tag 'r312_v20060104a'.

Sprout from R3_1_maintenance 2006-01-04 20:59:51 UTC Darin Wright <darin> 'update plug-in number'
Delete:
    org.eclipse.core.variables/.classpath
    org.eclipse.core.variables/.cvsignore
    org.eclipse.core.variables/.project
    org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
    org.eclipse.core.variables/META-INF/MANIFEST.MF
    org.eclipse.core.variables/about.html
    org.eclipse.core.variables/build.properties
    org.eclipse.core.variables/component.xml
    org.eclipse.core.variables/plugin.properties
    org.eclipse.core.variables/plugin.xml
    org.eclipse.core.variables/schema/dynamicVariables.exsd
    org.eclipse.core.variables/schema/valueVariables.exsd
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
    org.eclipse.debug.core/.classpath
    org.eclipse.debug.core/.cvsignore
    org.eclipse.debug.core/.options
    org.eclipse.debug.core/.project
    org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
    org.eclipse.debug.core/META-INF/MANIFEST.MF
    org.eclipse.debug.core/about.html
    org.eclipse.debug.core/build.properties
    org.eclipse.debug.core/buildnotes_platform-debug.html
    org.eclipse.debug.core/component.xml
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
    org.eclipse.debug.core/doc/.cvsignore
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
    org.eclipse.debug.core/hglegal2003.htm
    org.eclipse.debug.core/ngibmcpy2003.gif
    org.eclipse.debug.core/plugin.properties
    org.eclipse.debug.core/plugin.xml
    org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
    org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_0_changes.html
    org.eclipse.debug.core/r3_1_changes.html
    org.eclipse.debug.core/schema/breakpoints.exsd
    org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
    org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
    org.eclipse.debug.core/schema/launchDelegates.exsd
    org.eclipse.debug.core/schema/launchModes.exsd
    org.eclipse.debug.core/schema/launchers.exsd
    org.eclipse.debug.core/schema/logicalStructureProviders.exsd
    org.eclipse.debug.core/schema/logicalStructureTypes.exsd
    org.eclipse.debug.core/schema/processFactories.exsd
    org.eclipse.debug.core/schema/sourceContainerTypes.exsd
    org.eclipse.debug.core/schema/sourceLocators.exsd
    org.eclipse.debug.core/schema/sourcePathComputers.exsd
    org.eclipse.debug.core/schema/statusHandlers.exsd
    org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
    org.eclipse.debug.core/scripts/exportplugin.xml
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.project
    org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
    org.eclipse.ui.externaltools/META-INF/MANIFEST.MF
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
    org.eclipse.ui.externaltools/about.html
    org.eclipse.ui.externaltools/build.properties
    org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
    org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
    org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
    org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
    org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
    org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
    org.eclipse.ui.externaltools/plugin.properties
    org.eclipse.ui.externaltools/plugin.xml
    org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project
deleted file mode 100644
index efb82a1..0000000
--- a/org.eclipse.core.variables/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.variables</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e22d63a..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 17:54:58 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=disabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs b/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 02f5958..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:14 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/org.eclipse.core.variables/META-INF/MANIFEST.MF b/org.eclipse.core.variables/META-INF/MANIFEST.MF
deleted file mode 100644
index 3069ac7..0000000
--- a/org.eclipse.core.variables/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-Activator: org.eclipse.core.variables.VariablesPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.core.internal.variables;x-internal:=true,
- org.eclipse.core.variables
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/org.eclipse.core.variables/about.html b/org.eclipse.core.variables/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/org.eclipse.core.variables/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties
deleted file mode 100644
index bcf8553..0000000
--- a/org.eclipse.core.variables/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-source.. = src/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.core.variables/component.xml b/org.eclipse.core.variables/component.xml
deleted file mode 100644
index e68c3cd..0000000
--- a/org.eclipse.core.variables/component.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Core Variables">
- <plugin id="org.eclipse.core.variables" />
-
- <package name="org.eclipse.core.variables">
- 	<type name="IDynamicVariable" implement="false" />
- 	<type name="IDynamicVariableResolver" />
- 	<type name="IStringVariable" implement="false" />
- 	<type name="IStringVariableManager" implement="false" />
- 	<type name="IValueVariable" implement="false" />
- 	<type name="IValueVariableInitializer" />
- 	<type name="IValueVariableListener" />
- 	<type name="VariablesPlugin" instantiate="false" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties
deleted file mode 100644
index b15fcea..0000000
--- a/org.eclipse.core.variables/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Core Variables
-providerName=Eclipse.org
-valueVariablesExtensionPointName=Value Variables
-dynamicVariablesExtensionPointName=Dynamic Variables
diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml
deleted file mode 100644
index 5b85ef1..0000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/>
-   <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/>
-
-</plugin>
diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd
deleted file mode 100644
index 5168a89..0000000
--- a/org.eclipse.core.variables/schema/dynamicVariables.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.core.variables" id="dynamicVariables" name="Dynamic String Substitution Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining dynamic variables used in string substitution. The value of a dynamic variable is resolved at the time a string substitution is performed, with an optional argument.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a Java class which implements &lt;code&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/code&gt;, which is used to determine the value of the variable

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IDynamicVariableResolver"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="supportsArgument" type="boolean">

-            <annotation>

-               <documentation>

-                  Whether this variable supports an argument. When unspecified, the implied value is &lt;code&gt;true&lt;/code&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is a definition of a dynamic variable that resolves to the name of the selected resource:

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.dynamicVariables&quot;&gt;

-   &lt;variable 

-      name=&quot;resource_name&quot;

-      expanderClass=&quot;com.example.ResourceNameExpander&quot;

-      description=&quot;The name of the selected resource&quot;&gt;

-   &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;resolver&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/schema/valueVariables.exsd b/org.eclipse.core.variables/schema/valueVariables.exsd
deleted file mode 100644
index 8ca6127..0000000
--- a/org.eclipse.core.variables/schema/valueVariables.exsd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="initialValue" type="string">

-            <annotation>

-               <documentation>

-                  specifies the initial value for this variable. When specified, an &lt;code&gt;initializerClass&lt;/code&gt; attribute must not be specified.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="initializerClass" type="string">

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/code&gt;. When specified, an &lt;code&gt;initialValue&lt;/code&gt; attribute must not be specified.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable.

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a value variable contribution with an initial value:

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

-   initialValue=&quot;/usr/local/foo&quot;&gt;

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the specified variable is created with the initial value &quot;/usr/local/foo&quot;.

-

-         The following is an example of a value variable contribution with an initializer class:

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

-   initializerClass=&quot;com.example.FooLocator&quot;&gt;

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the variable FOO_HOME is created and the class &quot;com.example.FooLocator&quot; will be

-used to initialize the value the first time it&apos;s requested.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;initializerClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
deleted file mode 100644
index 10e192e..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-	
-	/**
-	 * Resolver, or <code>null</code> until needed
-	 */
-	private IDynamicVariableResolver fResolver;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
-	 */
-	public String getValue(String argument) throws CoreException {
-		if (!supportsArgument()) {
-			// check for an argument - not supported
-			if (argument != null && argument.length() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.DynamicVariable_0, new String[]{argument, getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		if (fResolver == null) {
-			String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
-			if (name == null) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-			Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
-			if (object instanceof IDynamicVariableResolver) {
-				fResolver = (IDynamicVariableResolver)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		return fResolver.resolveValue(this, argument);
-	}
-
-	/**
-	 * Constructs a new context variable.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param configurationElement configuration element
-	 */
-	public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
-	 */
-	public boolean supportsArgument() {
-		String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
-		return arg == null || Boolean.valueOf(arg).booleanValue();
-	}
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
deleted file mode 100644
index 3169707..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * 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 if and only if fSize != 0
-	 */
-	private Object[] fListeners= 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 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();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= 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.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 9a8e5df..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-	
-	// delimiters
-	private static final String VARIABLE_START = "${"; //$NON-NLS-1$
-	private static final char VARIABLE_END = '}'; //$NON-NLS-1$
-	private static final char VARIABLE_ARG = ':'; //$NON-NLS-1$
-	// parsing states
-	private static final int SCAN_FOR_START = 0;
-	private static final int SCAN_FOR_END = 1;
-	
-	/**
-	 * Resulting string
-	 */
-	private StringBuffer fResult;
-	
-	/**
-	 * Whether substitutions were performed
-	 */
-	private boolean fSubs;
-	
-	/**
-	 * Stack of variables to resolve
-	 */
-	private Stack fStack;
-	
-	class VariableReference {
-		
-		// the text inside the variable reference
-		private StringBuffer fText;
-		
-		public VariableReference() {
-			fText = new StringBuffer();
-		}
-		
-		public void append(String text) {
-			fText.append(text);
-		}
-		
-		public String getText() {
-			return fText.toString();
-		}
-	
-	}
-	
-	/**
-	 * Performs recursive string substitution and returns the resulting string.
-	 * 
-	 * @param expression expression to resolve
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param manager registry of variables
-	 * @return the resulting string with all variables recursively
-	 *  substituted
-	 * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
-	 *  in referenced variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		substitute(expression, reportUndefinedVariables, resolveVariables, manager);
-		List resolvedVariableSets = new ArrayList();
-		while (fSubs) {
-			HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);			
-			
-			for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-				
-				HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
-				if (prevSet.equals(resolved)) {
-					HashSet conflictingSet = new HashSet();
-					for (; i<resolvedVariableSets.size(); i++)
-						conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-					
-					StringBuffer problemVariableList = new StringBuffer();
-					for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
-						problemVariableList.append(it.next().toString());
-						problemVariableList.append(", "); //$NON-NLS-1$
-					}
-					problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, MessageFormat.format(VariablesMessages.StringSubstitutionEngine_4, new String[]{problemVariableList.toString()}), null)); //$NON-NLS-1$
-				}				
-			}		
-			
-			resolvedVariableSets.add(resolved);			
-		}
-		return fResult.toString();
-	}
-	
-	/**
-	 * Performs recursive string validation to ensure that all of the variables
-	 * contained in the expression exist
-	 * @param expression expression to validate
-	 * @param manager registry of variables
-	 * @exception CoreException if a referenced variable does not exist or if a cycle exists
-	 *  in referenced variables
-	 */
-	public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
-		performStringSubstitution(expression, true, false, manager);
-	}
-	
-	/**
-	 * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
-	 *  pass
-	 *  
-	 * @param expression source expression
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param resolveVariables whether to resolve the value of any variables
-	 * @exception CoreException if unable to resolve a variable
-	 */
-	private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		fResult = new StringBuffer(expression.length());
-		fStack = new Stack();
-		fSubs = false;
-		
-		HashSet resolvedVariables = new HashSet();
-
-		int pos = 0;
-		int state = SCAN_FOR_START;
-		while (pos < expression.length()) {
-			switch (state) {
-				case SCAN_FOR_START:
-					int start = expression.indexOf(VARIABLE_START, pos);
-					if (start >= 0) {
-						int length = start - pos;
-						// copy non-variable text to the result
-						if (length > 0) {
-							fResult.append(expression.substring(pos, start));
-						}
-						pos = start + 2;
-						state = SCAN_FOR_END;
-
-						fStack.push(new VariableReference());						
-					} else {
-						// done - no more variables
-						fResult.append(expression.substring(pos));
-						pos = expression.length();
-					}
-					break;
-				case SCAN_FOR_END:
-					// be careful of nested variables
-					start = expression.indexOf(VARIABLE_START, pos);
-					int end = expression.indexOf(VARIABLE_END, pos);
-					if (end < 0) {
-						// variables are not completed
-						VariableReference tos = (VariableReference)fStack.peek();
-						tos.append(expression.substring(pos));
-						pos = expression.length();
-					} else {
-						if (start >= 0 && start < end) {
-							// start of a nested variable
-							int length = start - pos;
-							if (length > 0) {
-								VariableReference tos = (VariableReference)fStack.peek();
-								tos.append(expression.substring(pos, start));
-							}
-							pos = start + 2;
-							fStack.push(new VariableReference());	
-						} else {
-							// end of variable reference
-							VariableReference tos = (VariableReference)fStack.pop();
-							String substring = expression.substring(pos, end);							
-							tos.append(substring);
-							resolvedVariables.add(substring);
-							
-							pos = end + 1;
-							String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
-							if (value == null) {
-								value = ""; //$NON-NLS-1$
-							}
-							if (fStack.isEmpty()) {
-								// append to result
-								fResult.append(value);
-								state = SCAN_FOR_START;
-							} else {
-								// append to previous variable
-								tos = (VariableReference)fStack.peek();
-								tos.append(value);
-							}
-						}
-					}
-					break;
-			}
-		}
-		// process incomplete variable references
-		while (!fStack.isEmpty()) {
-			VariableReference tos = (VariableReference)fStack.pop();
-			if (fStack.isEmpty()) {
-				fResult.append(VARIABLE_START);
-				fResult.append(tos.getText());
-			} else {
-				VariableReference var = (VariableReference)fStack.peek();
-				var.append(VARIABLE_START);
-				var.append(tos.getText());
-			}
-		}
-		
-
-		return resolvedVariables;
-	}
-
-	/**
-	 * Resolve and return the value of the given variable reference,
-	 * possibly <code>null</code>. 
-	 * 
-	 * @param var
-	 * @param reportUndefinedVariables whether to report undefined variables as
-	 *  an error
-	 * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
-	 * @param manager variable registry
-	 * @return variable value, possibly <code>null</code>
-	 * @exception CoreException if unable to resolve a value
-	 */
-	private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		String text = var.getText();
-		int pos = text.indexOf(VARIABLE_ARG);
-		String name = null;
-		String arg = null;
-		if (pos > 0) {
-			name = text.substring(0, pos);
-			pos++;
-			if (pos < text.length()) {
-				arg = text.substring(pos);
-			} 
-		} else {
-			name = text;
-		}
-		IValueVariable valueVariable = manager.getValueVariable(name);
-		if (valueVariable == null) {
-			IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
-			if (dynamicVariable == null) {
-				// no variables with the given name
-				if (reportUndefinedVariables) {
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.StringSubstitutionEngine_3, new String[]{name}), null)); //$NON-NLS-1$
-				} 
-				// leave as is
-				return getOriginalVarText(var);
-			} 
-			
-			if (resolveVariables) {
-				fSubs = true;
-				return dynamicVariable.getValue(arg);
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		
-		if (arg == null) {
-			if (resolveVariables) {
-				fSubs = true;
-				return valueVariable.getValue();
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		// error - an argument specified for a value variable
-		throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.StringSubstitutionEngine_4, new String[]{valueVariable.getName()}), null)); //$NON-NLS-1$
-	}
-
-	private String getOriginalVarText(VariableReference var) {
-		StringBuffer res = new StringBuffer(var.getText());
-		res.insert(0, VARIABLE_START);
-		res.append(VARIABLE_END);
-		return res.toString();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
deleted file mode 100644
index 27d7d61..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Variable description, or <code>null</code>
-	 */
-	private String fDescription;
-	
-	/**
-	 * Configuration element associated with this variable, or <code>null</code>
-	 */
-	private IConfigurationElement fConfigurationElement;
-
-	/**
-	 * Constructs a new variable with the given name and description.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 */
-	public StringVariable(String name, String description, IConfigurationElement configurationElement) {
-		fName = name;
-		fDescription = description;
-		fConfigurationElement = configurationElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-	
-	/**
-	 * Returns the configuration element associated with this variable, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return configuration element or <code>null</code>
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-	
-	/**
-	 * @see IValueVariable#setDescription(String)
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index d2a0867..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,591 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Singleton string variable manager. 
- */
-public class StringVariableManager implements IStringVariableManager, IPropertyChangeListener {
-	
-	/**
-	 * Dynamic variables - maps variable names to variables.
-	 */
-	private Map fDynamicVariables;
-	
-	/**
-	 * Value varialbes - maps variable names to variables.
-	 */
-	private Map fValueVariables;
-	
-	/**
-	 * Variable listeners
-	 */
-	private ListenerList fListeners;
-	
-	// notifications
-	private static final int ADDED = 0;
-	private static final int CHANGED = 1;
-	private static final int REMOVED = 2;
-	
-	/**
-	 * Singleton variable manager.
-	 */
-	private static StringVariableManager fgManager; 
-	
-	// true during internal updates indicates that change notification
-	// should be suppressed/ignored.
-	private boolean fInternalChange = false;
-	
-	// Variable extension point constants
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$	
-	// Persisted variable XML constants
-	private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$
-	private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$
-	private static final String NAME_TAG= "name"; //$NON-NLS-1$
-	private static final String VALUE_TAG= "value"; //$NON-NLS-1$
-	private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$
-	private static final String INITIALIZED_TAG="contributed"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	// preference store key for value variables
-	private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$	
-		
-	/**
-	 * Notifies a string variable listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class StringVariableNotifier implements ISafeRunnable {
-		
-		private IValueVariableListener fListener;
-		private int fType;
-		private IValueVariable[] fVariables;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$
-			VariablesPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.variablesAdded(fVariables);
-					break;
-				case REMOVED:
-					fListener.variablesRemoved(fVariables);
-					break;
-				case CHANGED:
-					fListener.variablesChanged(fVariables);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IValueVariable[] variables, int update) {
-			fVariables = variables;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IValueVariableListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fVariables = null;
-			fListener = null;
-			// persist variables whenever there is an add/change/remove	
-			storeValueVariables();	
-		}
-	}	
-	
-	/**
-	 * Returns a new notifier.
-	 * 
-	 * @return a new notifier
-	 */
-	private StringVariableNotifier getNotifier() {
-		return new StringVariableNotifier();
-	}
-	
-	/**
-	 * Returns the default string variable manager
-	 * 
-	 * @return string variable manager
-	 */
-	public static StringVariableManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariableManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Constructs a new string variable manager. 
-	 */
-	private StringVariableManager() {
-		fListeners = new ListenerList(5);
-	}	
-
-	/**
-	 * Load contributed variables and persisted variables
-	 */
-	private synchronized void initialize() {
-		if (fDynamicVariables == null) {
-			fInternalChange = true;
-			fDynamicVariables = new HashMap(5);
-			fValueVariables = new HashMap(5);
-			loadPersistedValueVariables();
-			loadContributedValueVariables();
-			loadDynamicVariables();
-			VariablesPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-			fInternalChange = false;
-		}
-	}
-	
-	/**
-	 * Loads contributed dynamic variables
-	 */
-	private void loadDynamicVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			DynamicVariable variable= new DynamicVariable(name, description, element);
-			fDynamicVariables.put(variable.getName(), variable);
-		}
-	}
-
-	/**
-	 * Loads any persisted value varialbes from the preference store.
-	 */
-	private void loadPersistedValueVariables() {
-		String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		Throwable ex = null;
-		try {
-			ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (UnsupportedEncodingException e) {
-			ex = e;
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (FactoryConfigurationError e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		if (ex != null) {
-			VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
-			VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
-					VariablesPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					String value= element.getAttribute(VALUE_TAG);
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					boolean initialized= TRUE_VALUE.equals(element.getAttribute(INITIALIZED_TAG));
-					ValueVariable variable= new ValueVariable(name, description, null);
-					if (initialized) {
-						variable.setValue(value);
-					}
-					fValueVariables.put(name, variable);
-				} else {
-					VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Loads contributed value variables. This is done after the persisted value
-	 * varaibles are restored. Any contributed variables with the same name are
-	 * merged with existing persisted values.
-	 */
-	private void loadContributedValueVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			ValueVariable variable= new ValueVariable(name, description, element);
-			// if already present, merge with persisted value
-			ValueVariable existing = (ValueVariable)getValueVariable(name);
-			if (existing != null) {
-				if (existing.isInitialized()) {
-					variable.setValue(existing.getValue());
-				}					
-			}
-			fValueVariables.put(variable.getName(), variable);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
-	 */
-	public synchronized IStringVariable[] getVariables() {
-		initialize();
-		List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size());
-		list.addAll(fDynamicVariables.values());
-		list.addAll(fValueVariables.values());
-		return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables()
-	 */
-	public synchronized IValueVariable[] getValueVariables() {
-		initialize();
-		return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
-	 */
-	public synchronized IDynamicVariable[] getDynamicVariables() {
-		initialize();
-		return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
-	 */
-	public String performStringSubstitution(String expression) throws CoreException {
-		return performStringSubstitution(expression, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description) {
-		IConfigurationElement element = null;
-		ValueVariable existing = (ValueVariable)getValueVariable(name);
-		if (existing != null && existing.isContributed()) {
-			element = existing.getConfigurationElement();
-		}
-		return new ValueVariable(name, description, element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void addVariables(IValueVariable[] variables) throws CoreException {
-		initialize();
-		MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.StringVariableManager_26, null); //$NON-NLS-1$
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (getValueVariable(variable.getName()) != null) {
-				status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.StringVariableManager_27, new String[]{variable.getName()}), null)); //$NON-NLS-1$
-			}			
-		}
-		if (status.isOK()) {
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				fValueVariables.put(variable.getName(), variable);
-			}
-			IValueVariable[] copy = new IValueVariable[variables.length];
-			System.arraycopy(variables, 0, copy, 0, variables.length);
-			getNotifier().notify(copy, ADDED);
-			return;
-		}
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void removeVariables(IValueVariable[] variables) {
-		initialize();
-		List removed = new ArrayList(variables.length);
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (fValueVariables.remove(variable.getName()) != null) {
-				removed.add(variable);
-			}
-		}
-		if (removed.size() > 0) {
-			getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String)
-	 */
-	public synchronized IDynamicVariable getDynamicVariable(String name) {
-		initialize();
-		return (IDynamicVariable) fDynamicVariables.get(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String)
-	 */
-	public synchronized IValueVariable getValueVariable(String name) {
-		initialize();
-		return (IValueVariable) fValueVariables.get(name);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void addValueVariableListener(IValueVariableListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns a memento representing the value variables currently registered.
-	 * 
-	 * @return memento representing the value variables currently registered
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IValueVariable[] variables = getValueVariables();
-
-		Document document= getDocument();
-		Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < variables.length; i++) {
-			ValueVariable variable = (ValueVariable)variables[i];
-			Element element= document.createElement(VALUE_VARIABLE_TAG);
-			element.setAttribute(NAME_TAG, variable.getName());
-			String value= variable.getValue();
-			if (value != null) {
-				element.setAttribute(VALUE_TAG, value);
-			}
-			String description= variable.getDescription();
-			if (description != null) {
-				element.setAttribute(DESCRIPTION_TAG, description);
-			}
-			element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE);
-			rootElement.appendChild(element);
-		}
-		return serializeDocument(document);
-	}
-	
-	private Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc =docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Saves the value variables currently registered in the
-	 * preference store. 
-	 */
-	private synchronized void storeValueVariables() {
-		Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences();
-		String variableString= ""; //$NON-NLS-1$
-		if (!fValueVariables.isEmpty()) {
-			try {
-				variableString= getValueVariablesAsXML();
-			} catch (IOException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (ParserConfigurationException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (TransformerException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			}
-		}
-		fInternalChange = true;
-		prefs.setValue(PREF_VALUE_VARIABLES, variableString);
-		VariablesPlugin.getDefault().savePluginPreferences();
-		fInternalChange = false;
-	}
-
-	/**
-	 * Fire a change notification for the given variable.
-	 * 
-	 * @param variable the variable that has changed
-	 */
-	protected void notifyChanged(ValueVariable variable) {
-		if (!fInternalChange) {
-			IValueVariable existing = getValueVariable(variable.getName());
-			if (variable.equals(existing)) {
-				// do not do change notification for unregistered variables
-				getNotifier().notify(new IValueVariable[]{variable}, CHANGED);
-			}
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String)
-	 */
-	public String generateVariableExpression(String varName, String arg) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("${"); //$NON-NLS-1$
-		buffer.append(varName);
-		if (arg != null) {
-			buffer.append(":"); //$NON-NLS-1$
-			buffer.append(arg);
-		}
-		buffer.append("}"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean)
-	 */
-	public String performStringSubstitution(String expression,	boolean reportUndefinedVariables) throws CoreException {
-		return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String)
-	 */
-	public void validateStringVariables(String expression) throws CoreException {
-		new StringSubstitutionEngine().validateStringVariables(expression, this);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.variables.IStringVariableManager#getContributingPluginId(org.eclipse.core.variables.IStringVariable)
-     */
-    public String getContributingPluginId(IStringVariable variable) {
-        if (variable instanceof StringVariable) {
-            return ((StringVariable) variable).getConfigurationElement().getNamespace();
-        }
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (PREF_VALUE_VARIABLES.equals(event.getProperty())) {
-			synchronized (this) {
-				if (!fInternalChange) {
-					fValueVariables.clear();
-					loadPersistedValueVariables();
-					loadContributedValueVariables();
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
deleted file mode 100644
index bfc3c32..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Implementation of a value variable.
- */
-public class ValueVariable extends StringVariable implements IValueVariable {
-	
-	/**
-	 * Variable value or <code>null</code> if none 
-	 */
-	private String fValue;
-	
-	/**
-	 * Whether this variable's value has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * Constructs a new value variable with the given name, description, and
-	 * associated configuration element.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 * @param configurationElement configuration element or <code>null</code>
-	 */
-	public ValueVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		fValue = value;
-		setInitialized(true);
-		StringVariableManager.getDefault().notifyChanged(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#getValue()
-	 */
-	public String getValue() {
-		if (!isInitialized()) {
-			initialize();
-		}
-		return fValue;
-	}
-
-	/**
-	 * Initialize this variable's value.
-	 */
-	private void initialize() {
-		if (getConfigurationElement() != null) {
-			// check for a explicit value specified in plug-in XML
-			String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$
-			if (value == null) {
-				// check for initializer
-				String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$
-				if (className != null) {
-					try {
-						Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$
-						if (object instanceof IValueVariableInitializer) {
-							IValueVariableInitializer initializer = (IValueVariableInitializer)object;
-							initializer.initialize(this);
-						} else {
-							VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
-						}
-					} catch (CoreException e) {
-						VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
-					}
-				}
-			} else {
-				setValue(value);
-			}
-		}
-		setInitialized(true);
-	}
-
-	/**
-	 * Returns whether this variable has been initialized with a value by one of:
-	 * <ul>
-	 * <li><code>setValue(String)</code></li>
-	 * <li>its configuration element's <code>initialValue</code> attribute</li>
-	 * <li>its configuration element's initializer</li>
-	 * </ul>
-	 * @return whether this variable has been initialized with a value
-	 */	
-	protected boolean isInitialized() {
-		return fInitialized;
-	} 
-	
-	/**
-	 * Sets whether this variable has been initialized with a value.
-	 *  
-	 * @param initialized whether this variable has been initialized
-	 */
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return getConfigurationElement() != null;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 27378a6..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class VariablesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages";//$NON-NLS-1$
-	//
-	// Copyright (c) 2000, 2005 IBM Corporation and others.
-	// All rights reserved. This program and the accompanying materials
-	// are made available under the terms of the Eclipse Public License v1.0
-	// which accompanies this distribution, and is available at
-	// http://www.eclipse.org/legal/epl-v10.html
-	//
-	// Contributors:
-	//     IBM Corporation - initial API and implementation
-	//
-
-	public static String StringSubstitutionEngine_3;
-	public static String StringSubstitutionEngine_4;
-
-	public static String StringVariableManager_26;
-	public static String StringVariableManager_27;
-
-	public static String DynamicVariable_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, VariablesMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
deleted file mode 100644
index 945dbd3..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-StringSubstitutionEngine_3=Reference to undefined variable {0}
-StringSubstitutionEngine_4=Variable {0} does not accept arguments
-
-StringVariableManager_26=Variables with the specified names are already registered.
-StringVariableManager_27=Variable named {0} already registered
-
-DynamicVariable_0=Unsupported argument {0} specified for variable {1}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
deleted file mode 100644
index 9bdda6e..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A dynamic variable is a variable whose value is computed dynamically
- * by a resolver at the time a string substitution is performed. A dynamic
- * variable is contributed by an extension.
- * <p>
- * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- *    &lt;variable 
- *       name="resource_name"
- *       resolver="com.example.ResourceNameResolver"
- *       description="The name of the selected resource"
- *       supportsArgument="false"&gt;
- *    &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a dynamic variable provide an implementation of {@link org.eclipse.core.variables.IDynamicVariableResolver}.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariable extends IStringVariable {
-
-	/**
-	 * Returns the value of this variable when referenced with the given
-	 * argument, possibly <code>null</code>.
-	 * 
-	 * @param argument argument present in variable expression or <code>null</code>
-	 *   if none
-	 * @return value of this variable when referenced with the given argument, possibly
-	 *   <code>null</code>
-	 * @throws CoreException if unable to resolve a value for this variable
-	 */
-	public String getValue(String argument) throws CoreException;
-	
-	/**
-	 * Returns whether this variable supports an argument, as specified
-	 * by this variable's extension definition in plug-in XML.
-	 * 
-	 * @return whether this variable supports an argument
-	 */
-	public boolean supportsArgument();
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
deleted file mode 100644
index b5cefaa..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a dynamic variable. A dynamic variable extension
- * contributes a resolver which must implement this interface.
- * <p>
- * Clients contributing a dynamic variable are intended to provide an implementation
- * of this interface.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariableResolver {
-
-	/**
-	 * Resolves and returns a value for the specified variable when referenced
-	 * with the given argument, possibly <code>null</code>
-	 *  
-	 * @param variable variable to resolve a value for
-	 * @param argument argument present in expression or <code>null</code> if none
-	 * @return variable value, possibly <code>null</code>
-	 * @throws CoreException if unable to resolve a value for the given variable
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
deleted file mode 100644
index 7c19550..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon seperates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- *       accept no arguments. The value of this type of variable is resolved at the time
- *       its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * 		a string substitution is performed by a contributed resolver. Dynamic variables
- * 		may accept an argument.</li>
- * </ul>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariable {
-
-	/**
-	 * Returns the name of this variable. A variable is uniquely identified by
-	 * its name.
-	 * 
-	 * @return variable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a human readable description of this variable, possibly <code>null</code>
-	 * 
-	 * @return a description of this variable, or <code>null</code> if none
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
deleted file mode 100644
index 1eafd63..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariableManager {
-
-	/**
-	 * Simple identifier constant (value <code>"dynamicVariables"</code>) for the
-	 * dynamic variables extension point.
-	 */
-	public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"valueVariables"</code>) for the
-	 * value variables extension point.
-	 */
-	public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Returns all registered variables.
-	 * 
-	 * @return a collection of all registered variables
-	 */
-	public IStringVariable[] getVariables();
-	
-	/**
-	 * Returns all registered value variables.
-	 * 
-	 * @return a collection of all registered value variables
-	 */
-	public IValueVariable[] getValueVariables();
-	
-	/**
-	 * Returns the value variable with the given name, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the value variable with the given name, or <code>null</code>
-	 * if none
-	 */
-	public IValueVariable getValueVariable(String name);
-	
-	/**
-	 * Returns all registered dynamic variables.
-	 * 
-	 * @return a collection of all registered dynamic variables
-	 */
-	public IDynamicVariable[] getDynamicVariables();	
-	
-	/**
-	 * Returns the dynamic variable with the given name or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the dynamic variable with the given name or <code>null</code>
-	 * if none
-	 */
-	public IDynamicVariable getDynamicVariable(String name);
-    
-    /**
-     * Returns the plugin identifier of the plugin that contributed the
-     * given variable via extension or <code>null</code> if the given
-     * variable wasn't contributed via extension.
-     * 
-     * @param variable the variable
-     * @return the plugin identifier of the plugin that contributed the
-     *  given variable or <code>null</code>
-     * @since 3.1
-     */
-    public String getContributingPluginId(IStringVariable variable);
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Reports errors for references
-	 * to undefined variables (equivalent to calling
-	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
-	 * @param expression expression referencing variables
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression) throws CoreException;
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Allows the client to control
-	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
-	 * @param expression expression referencing variables
-	 * @param reportUndefinedVariables whether a reference to an undefined variable
-	 *  is to be considered an error (i.e. throw an exception)
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
-	/**
-	 * Validates variables references in the given expression and reports errors
-	 * for references to undefined variables.
-	 * 
-	 * @param expression expression referencing variables
-	 * @throws CoreException if one or more referenced variables do not exist
-	 */
-	public void validateStringVariables(String expression) throws CoreException;
-	
-	/**
-	 * Returns a new value variable with the given name and description.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @return a new variable
-	 * @exception CoreException if a variable already exists with the given name
-	 */
-	public IValueVariable newValueVariable(String name, String description);
-	
-	/**
-	 * Adds the given variables to the variable registry.
-	 * 
-	 * @param variables the variables to add
-	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
-	/**
-	 * Removes the given variables from the registry. Has no effect for unregistered
-	 * variables.
-	 * 
-	 * @param variables variables to remove
-	 */
-	public void removeVariables(IValueVariable[] variables);
-	
-	/**
-	 * Registers the given listener for value variable notifications. Has no effect
-	 * if an identical listener is already registered.
-	 *   
-	 * @param listener value variable listener to add
-	 */
-	public void addValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Removes the given listener from the list of registered value variable
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener value variable listener to remove
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Convenience method that returns an expression referencing the given
-	 * variable and optional argument. For example, calling the method with
-	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
-	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
-	 * @param varName variable name
-	 * @param arg argument text or <code>null</code>
-	 * @return an expression referencing the given variable and
-	 *  optional argument
-	 */
-	public String generateVariableExpression(String varName, String arg);
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index bb958e7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialie the variable with a value. 
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initialValue="/usr/local/foo"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initializerClass="com.example.FooLocator"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given value. A value of
-	 * <code>null</code> indicates the value of this variable is undefined.
-	 * 
-	 * @param value variable value, possibly <code>null</code>
-	 */
-	public void setValue(String value);
-	
-	/**
-	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
-	 * @return the value of this variable, or <code>null</code> if none
-	 */
-	public String getValue();
-	
-	/**
-	 * Returns whether this variable was contributed by an extension.
-	 * 
-	 * @return whether this variable was contributed by an extension
-	 */
-	public boolean isContributed();
-	
-	/**
-	 * Sets the description of this variable to the given value.
-	 * 
-	 * @param description variable description, possibly <code>null</code>
-	 */
-	public void setDescription(String description);	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 3621445..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechnism for programatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
-	/**
-	 * Initializes the specified variable. 
-	 * 
-	 * @param variable variable to initialize
-	 */
-	public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 37dac25..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A string variable listener is notified of variables as they are added
- * and removed from the string variable manager. As well, listeners are
- * notified when a value variable changes value.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableListener {
-	
-	/**
-	 * Notification the given variables have been added to the variable
-	 * manager.
-	 * 
-	 * @param variables added variables
-	 */
-	public void variablesAdded(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been removed from the variable
-	 * manager.
-	 * 
-	 * @param variables removed variables
-	 */
-	public void variablesRemoved(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been changed value.
-	 * 
-	 * @param variables changed variables
-	 */
-	public void variablesChanged(IValueVariable[] variables);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
deleted file mode 100644
index 41f6624..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * Status code indicating a variable reference cycle error.
-	 */
-	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static VariablesPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
-	 * for the Core Variables plug-in.
-	 */
-	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
-	/** 
-	 * Constructs an instance of this plug-in runtime class.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by the Variables plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public VariablesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static VariablesPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_CORE_VARIABLES;
-	}
-	
-	/**
-	 * Returns the string variable manager.
-	 * 
-	 * @return the string variable manager
-	 */
-	public IStringVariableManager getStringVariableManager() {
-		return StringVariableManager.getDefault();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.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">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of 
-  string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and 
-  contribution of variables for the purpose of string substitution. The plug-in 
-  supports the recursive replacement of variables referenced by name in arbitrary 
-  strings with the value of the variable. Two types of variables are provided 
-  - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). 
-  A value variable has a simple setter and getter for its current value. A dynamic 
-  variable has an associated resolver that provides a variable's value each time 
-  it is referenced (replaced) in a string substitution. A dynamic variable may 
-  also provide an argument in its reference that can be used by its resolver to 
-  determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage 
-  the set of defined variables. Value variables may be created via API on the 
-  variable manager, or contributed via the <code>valueVariables</code> extension 
-  point. Dynamic variables must be contributed via the <code>dynamicVariables</code> 
-  extension point. The variable manager also provides change notification for 
-  value variables. The variable manager also provides an API for performing string 
-  substitution, which accepts a string, and returns a string with all variable 
-  references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with 
-  a dollar sign. For example, consider a variable defined with the name <code>foo</code>, 
-  and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>. 
-  If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result 
-  of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the 
-  case of a dynamic variable, an (optional) argument is supplied by appending 
-  a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>. 
-  In this case, the resolver associated with <code>foo</code> would be provided 
-  with the referenced argument (<code>bar</code>) when asked to resolve a value 
-  for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath
deleted file mode 100644
index 03bbb43..0000000
--- a/org.eclipse.debug.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="core"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.core/.cvsignore b/org.eclipse.debug.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.debug.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.options b/org.eclipse.debug.core/.options
deleted file mode 100644
index 086a022..0000000
--- a/org.eclipse.debug.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.debug.core/debug=false
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project
deleted file mode 100644
index 394ef93..0000000
--- a/org.eclipse.debug.core/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.debug.core</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e22d63a..0000000
--- a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 17:54:58 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=disabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs b/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 945b3e7..0000000
--- a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:34:28 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/org.eclipse.debug.core/META-INF/MANIFEST.MF b/org.eclipse.debug.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 145cc5c..0000000
--- a/org.eclipse.debug.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.debug.core; singleton:=true
-Bundle-Version: 3.1.2
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.debug.core.DebugPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.core.sourcelookup,
- org.eclipse.debug.core.sourcelookup.containers,
- org.eclipse.debug.internal.core;x-friends:="org.eclipse.debug.ui",
- org.eclipse.debug.internal.core.sourcelookup;x-friends:="org.eclipse.debug.ui",
- org.eclipse.debug.internal.core.sourcelookup.containers;x-friends:="org.eclipse.debug.ui"
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.variables,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/org.eclipse.debug.core/about.html b/org.eclipse.debug.core/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/org.eclipse.debug.core/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties
deleted file mode 100644
index 826d036..0000000
--- a/org.eclipse.debug.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-source.. = core/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.debug.core/buildnotes_platform-debug.html b/org.eclipse.debug.core/buildnotes_platform-debug.html
deleted file mode 100644
index 3562b6e..0000000
--- a/org.eclipse.debug.core/buildnotes_platform-debug.html
+++ /dev/null
@@ -1,975 +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] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC4
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100807">100807</a>: Source not found<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC3
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99407">99407</a>: Handle BLE from toggle breakpoint action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99796">99796</a>: Refactoring changed launch config name to &quot;null&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99693">99693</a>: Invalid stack frames during display<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84458">84458</a>: [Doc] package.html needs to be updated for org.eclipse.ui.console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99752">99752</a>: Console Terminate Hangs Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99996">99996</a>: NPE when bringing the Memory View to the top from a view stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100105">100105</a>: Help context id fixes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100489">100489</a>: &quot;color&quot; as a preference keyword<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100283">100283</a>: [Memory View]: SWTException when launch a session with Memory view open<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC2 - June 10, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94441">94441</a>: deallocated Inspect Expression incorrectly displayed in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97654">97654</a>: Pref Page General/Colors and Fonts - problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97564">97564</a>: breakpoint group shows as disabled when enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98655">98655</a>: [Preferences] Error message too long in Preferences dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96972">96972</a>: NullPointerException when trying to set breakpoint (in ToggleBreakpointAction)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97304">97304</a>: DebugRequestJob should be system job<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97327">97327</a>: renaming main type does not update launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97628">97628</a>: Edit source path dialog not re-sizeable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97742">97742</a>: Console uses wrong link color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97847">97847</a>: An internal error occurred during: &quot;Fetching children from debug target&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97869">97869</a>: Pref Page Run/Debug - problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98272">98272</a>: Key binding for terminate - works 3.0, not 3.1 (debug view issue)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98389">98389</a>: Stack overflow when launching from within project with circular plugin dependancy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71794">71794</a>: Mnemonic in error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98090">98090</a>: source lookup with relative path names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95490">95490</a>: String substitution variables are lost during import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98048">98048</a>: &quot;Terminate and Remove&quot; doesn't assure termination of launch object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98090">98090</a>: source lookup with relative path names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99174">99174</a>: launch view should use async instead of sync<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98249">98249</a>: cvs console missing icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99063">99063</a>: DebugModePromptStatusHandler should check preference before getting the active shell<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91305">91305</a>: program spewing large amounts to console causes eclipse to OOM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92135">92135</a>: Investigate console performance test failures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97348">97348</a>: Run button enabled without selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98162">98162</a>: Missing properties string in AddMemoryRenderingAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98003">98003</a>: 3.1 RC1 javadoc warnings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96657">96657</a>: Clipped message for missing source.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97726">97726</a>: Carat location should be updated when user types in Console.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98900">98900</a>: Console hyperlinks inaccurately detected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98995">98995</a>: Monitor Memory Dialog needs to accept empty expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99067">99067</a>: Add Memory Monitor dialog should stay up if there is an error adding a memory monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99247">99247</a>: Potential NegativeArraySizeException in Table Rendering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC1 - May 27, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94446">94446</a>: CodePagesPrefDialog using internal help access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84324">84324</a>: Changes to Watch Expressions not updated in view when not debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84959">84959</a>: action background job hangs onto elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89961">89961</a>: NPE running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93686">93686</a>: Provide select all / deselect all buttons for BreakpointWorkingSetPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95190">95190</a>: Display view context menu item is missing label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95199">95199</a>: consoleFactories extension point doesn't specify implementation reqs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94749">94749</a>: terminate all does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95256">95256</a>: Marker doesn't exist error from breakpoint sorter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94357">94357</a>: breakpoints view not auto-opened on second launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87586">87586</a>: View closure doesn't pay attention to perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71486">71486</a>: no error message when CTRL-S used to change var value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85612">85612</a>: NPE trying to create new launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93545">93545</a>: No feedback when re-enabling breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95662">95662</a>: Activity enablement not working in debug platform<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93474">93474</a>: &quot;Step filters&quot; incorrectly enabled when launch selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94281">94281</a>: [Preferences] Some Parts not using Dialog Fonts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90206">90206</a>: Stack trace console should use console font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95204">95204</a>: FolderSourceContainerDialog and internal ref<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95767">95767</a>: (polish) Use &quot;open&quot; instead of &quot;switch&quot; terminology for perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95956">95956</a>: typo in NLS keys<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92547">92547</a>: Job not shut down correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92949">92949</a>: potential NPE in RenderingViewPane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95477">95477</a>: Infinite &quot;restore viewer state&quot; in Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91543">91543</a>: Exception when placing a breakpoint (double click on ruler)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91786">91786</a>: top frame annotated as &quot;secondary&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77252">77252</a>: Consistency in SDK consoles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96546">96546</a>: Debug plugins should restrict access to their packages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95470">95470</a>: Debug jobs should be system jobs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87587">87587</a>: Debugging views automatically opened before perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96470">96470</a>: Breakpoint type group shows up not &quot;enabled&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96199">96199</a>: NPE in RemoteTreeViewer.deferExpansion running Ant test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96724">96724</a>: FindVariableDelegate leaks as remains as DebugEventListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96557">96557</a>: Missing adapter type: BreakpointTypeCategory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94406">94406</a>: Context Enabled not opened in Java Perspective in multi-langauage scenario<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94535">94535</a>: TimedOut VM remains in Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96451">96451</a>: Memory View throws exception in multi-window scenario<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95745">95745</a>: console/editor:  allow editor selection/load of source files for none stack traces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96766">96766</a>: Console hyperlinks broken by 3.1M7<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96432">96432</a>: Debug/Run As "Ant build" shows up for Java files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85770">85770</a>: Hyperlink over multiple lines: text colored only on first line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96731">96731</a>: Leak: RemoteTreeViewer jobs holding on to debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96728">96728</a>: Leak: MemoryViewSynchronizationService remains as listener of IMemoryBlockManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94454">94454</a>: Find Variable action from Variable view missing mnemonic<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 13, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94208">94208</a>: Debug UI depends on IDE to declare &quot;Goto Breakpoint&quot; image.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94216">94216</a>: Open type does not work for generic types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94447">94447</a>: WorkingSetSourceContainerBrowser and internal WorkbenchPlugin<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 9, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92939">92939</a>: Render links in the console as hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93712">93712</a>: missing messages in DebugUIMessages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93198">93198</a>: ClassCastException  when monitoring large array in Expression View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93578">93578</a>: java.lang.ArrayIndexOutOfBoundsException in ConsoleDocumentAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93800">93800</a>: Serialize requests per target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93805">93805</a>: Run/Debug as menu should never be empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93909">93909</a>: No longer able to launch java application from navigator view folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93927">93927</a>: Add keywords to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93949">93949</a>: Tests opening external browsers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93976">93976</a>: Add Source Container dialog should add the new container to the top of the source container list by default.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94133">94133</a>: [Console] console does not automatically appear on write to stdout<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 3, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93711">93711</a>: Eraser icon is difficult to see and analogy is often missed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89548">89548</a>: no message for native methods in var view<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 3, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85033">85033</a>: Memory View:  Screen reader does not read content properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92704">92704</a>: Classcast exception from Registers View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76032">76032</a>: inconsistent &quot;Run&quot; rightclick menu on French OS vs. English OS<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92817">92817</a>: [api] fields deleted from MessageConsole<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92838">92838</a>: [api] add missing &#64;since 3.1 tags on API added in 3.1 cycles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92902">92902</a>: Can't launch with errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92836">92836</a>: [api] missing &#64;since 3.1 tag on AbstractDebugView.setViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92930">92930</a>: 4 methods added to CommonTab intended to be private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90289">90289</a>: &gt;1 debug worker thread calling IStackFrame.getVariables()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92938">92938</a>: Unused Keys in ConsoleMessages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92840">92840</a>: [api] deleted field IDebugUIConstants.IMG_ACT_SYNCED<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 26, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88685">88685</a>: stepxxx and resume calls made even if &quot;canStepxxx()&quot; and &quot;canResume()&quot; return false<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91605">91605</a>: ShowTypesAction runs twice when it is invoked.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89604">89604</a>: [polish] Prompted to delete all selected breakpoints for empty group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91889">91889</a>: top frame not selected when monitor added to stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78166">78166</a>: [performance test] console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79426">79426</a>: Exception in log file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92135">92135</a>: Output out of sync with process when debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90351">90351</a>: [performance test] Tests completing too quickly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91552">91552</a>: Console view shows &quot;Console&quot; as content description when no consoles open<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91625">91625</a>: IndexedValuePartition's #getVariables is inefficient<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91984">91984</a>: RemoteTreeViewer.StateRestorationJob should be pushed down stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92132">92132</a>: Memory rendering's dispose() method gets called twice when closing the rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89743">89743</a>: [polish] [Console] Process Console not opened if output is not captured anywhere<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87420">87420</a>: Provide feedback during source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89230">89230</a>: Run as mnemonic has been changed from S to U<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89693">89693</a>: Exception occurred when looking at monitors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92244">92244</a>: SelectedResourceManager copies entire text selection upon every selection change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81330">81330</a>: Missing mnemonics in Context menu of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85588">85588</a>: No error/warning when console encoding not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74885">74885</a>: Review all Threads created to see if they should be set as daemon<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 19, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91208">91208</a>: firing PropertyChangeEvent in TextConsole.addHyperlink can be expensive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78318">78318</a>: Backport performance tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91471">91471</a>: Avoid asyncs in action updating<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89865">89865</a>: Poor debug performance in I20050330-0500<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89184">89184</a>: Eclipse hangs during shutdown after error disposing display<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90975">90975</a>: Consoles removed when using multiple windows<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91569">91569</a>: TextConsoleViewer should not change selection when auto-scrolling<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91067">91067</a>: Performance problem in Console View if more than one Console View is opened<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91597">91597</a>: OutputStreamMonitor #read method is inefficient<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82530">82530</a>: DebugPluginImages and ImageRegistry<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 12, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89748">89748</a>: [polish] &quot;Search for duplicate source files&quot; option doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82627">82627</a>: Source containers should be case-insensitive on platforms that are case insensitive.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89883">89883</a>: Exception triggered by Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90154">90154</a>: [Memory View] Short Input Rejected by Hex Rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88261">88261</a>: create component XML for debug plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90892">90892</a>: Typos in javadoc of IConsoleFactory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90318">90318</a>: Change string externalization to use new format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88677">88677</a>: AbstractDebugEventHandler$EventProcessingJob can hog UI thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90387">90387</a>: Debug with break point cause error in 3.1M6<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90518">90518</a>: JAR debug plug-ins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90838">90838</a>: Folder and Directory source containers should have slightly more descriptive names.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90470">90470</a>: StatusDialog now available in JFace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76794">76794</a>: Error Disabling Breakpoint: "Unable to create class prepare request."<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 5, 2005 - M6
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89741">89741</a>: [polish] Debug config: Suggestion: When user clicks new, put focus in name text field<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89590">89590</a>: Scroll Lock is broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89711">89711</a>: Display View unexpectedly brought to top when debug session is suspended<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 1, 2005 - M6
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89772">89772</a>: [Memory View] NPE in AbstractTableRendering when throwing Debug Exception during rendering creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89308">89308</a>: Pass combined preference store to TextSourceViewerConfiguration(IPreferenceStore)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 29, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88945">88945</a>: [Memory View] Add code page preference for Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84378">84378</a>: Open several tabs in memory view at once<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89293">89293</a>: [Memory View] Selection problems in Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82245">82245</a>: Multiple memory views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88828">88828</a>: [Memory View] Allow clients to provider custom decorations in AbstractTableRendering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 24, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88833">88833</a>: TableRenderingLabelProviderEx should cache font/color providers<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 22, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86510">86510</a>: Filtering all threads from the debug view causes infinite expand attempts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88585">88585</a>: Find action in variables and expressions view context menu has no text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80857">80857</a>: ProjectSourceContainer fails to search for files specified by relative paths<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86572">86572</a>: banner image for launch config tab groups ignored<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88465">88465</a>: VariableValueEditorManager does not need to be API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86743">86743</a>: Register view shows the same as Variables view in CVS HEAD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88027">88027</a>: ConsoleManager does not recognize Workbench shutdown.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88264">88264</a>: [Memory View] Support for non-scrollable IMemoryBlockExtension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88404">88404</a>: [Memory View] Support for mixed-endianess in a memory block<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88232">88232</a>: AbstractSourceLookupDirector disposes existing containers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86725">86725</a>: Environment vars on windows: lowercase/uppercase<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85216">85216</a>: [API] platform could provide double-click breakpoint action<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 15, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86793">86793</a>: Support for dynamic help in LaunchConfigurationView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87421">87421</a>: IMemoryBlockExtension: Rename getAddressibleSize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52939">52939</a>: Launch from the context menu in an editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74343">74343</a>: Some contextual views not opening after a perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87569">87569</a>: Infinte loop obtaining image when switching to Debug Perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87955">87955</a>: Exception on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86617">86617</a>: Memory view scrolling problem under GTK<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83246">83246</a>: Javadoc warnings in latest builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87692">87692</a>: setConsoleWidth() causes Invalid thread access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86859">86859</a>: NPE running Ant debugger test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86895">86895</a>: NPE from source lookup from Ant debug tests<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 8, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87108">87108</a>: ProcessConsole.ConsoleLogFilePatternMatcher should remove itself once a match has been found<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78288">78288</a>: [API] Drop to Frame not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86850">86850</a>: Console should scroll to last line, not end of document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86956">86956</a>: Adapt to the key binding changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87225">87225</a>: NPE during compile using clover 1.2.2<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 1, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85623">85623</a>: NPE opening View Management preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77566">77566</a>: [API] Implementations of AbstractJavaLaunchConfigurationDelegate.launch are too monolithic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85322">85322</a>: remote viewers should cancel jobs when disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85964">85964</a>: RemoteVariablesContentProvider.hasChildren() communicating with Target in UI Thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86030">86030</a>: VariablesView communicates with target in UI thread while populated Details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86199">86199</a>: [M5a] Memory view is not updated when padded string is changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81211">81211</a>: [KeyBindings] preference page: key bindings don't show relevant platform<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51887">51887</a>: Feature request: Allow more control over Debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86573">86573</a>: Console prcoess type property tester poorly named<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76526">76526</a>: [API] ILaunchManager/Launch not extensible.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87081">87081</a>: Invalid thread access during &quot;Populate Detail Pane&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85600">85600</a>: NPE from format in Java Stack trace console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77255">77255</a>: RemoveAllTerminatedAction and ConsoleRemoveAllTerminatedAction differences/bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85626">85626</a>: View tracking state still honored after toggling "track views" preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84362">84362</a>: Relaunch does not terminate current launch<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 22, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85740">85740</a>: &quot;Display in favorites&quot; selection table is too small<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85734">85734</a>: Debug view flickers excessively<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 17, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85582">85582</a>: index out of bounds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85653">85653</a>: Reuse of source lookup result<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84111">84111</a>: Exception while running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85603">85603</a>: Attempting to capture output to invalid file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85330">85330</a>: Illegal Argument Exception in VariablesView details panel<br>	  	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85579">85579</a>: launch view event handler performs insert rather than refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85701">85701</a>: source selection only cleared on thread termination<br>
-	  	
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 15, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84588">84588</a>: Dummy launch should be rendered with italics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84587">84587</a>: dummy launch not cleaned up when job terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84257">84257</a>: Expanding tree in the variable view collapses the tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78553">78553</a>: Console hyperlink painting needs improvement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84795">84795</a>: Missing NLS string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84586">84586</a>: Launch doesn't wait for build if launching while &quot;cleaning&quot; before build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82318">82318</a>: Breakpoint enablement blocks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80325">80325</a>: Deferred content adapater will override workbench adapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84075">84075</a>: deferred workbench adapters for expressions and registers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84825">84825</a>: new variables no longer revealed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84672">84672</a>: breakpoint does not have marker errors in test log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84907">84907</a>: Invalid thread access while removing launches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84958">84958</a>: class cast exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85048">85048</a>: RemoveAllTerminatedAction causes debug view to refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84932">84932</a>: Deleting a breakpoint leaves no selection in the breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83793">83793</a>: Find Variable could be mapped to Ctrl-F<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84959">84959</a>: action background job hangs onto elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84951">84951</a>: Launch leak<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73397">73397</a>: Setting ErrorHandlers for XML parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84960">84960</a>: Launch view source lookup result hangs onto launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83245">83245</a>: [Breakpoint Groups] Improve icons for breakpoint type groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84884">84884</a>: test failure: memory rendering types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84925">84925</a>: refactoring of doUpdateItem(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85291">85291</a>: NPE in find variale action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84933">84933</a>: Adding a lock to Debug View deselects stack frame<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85007">85007</a>: Invalid stack frames displayed in Debug View, Owned monitors not displayed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84641">84641</a>: StringIndexOutOfBoundsException in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84870">84870</a>: Hang in PasteBreakpointsAction.updateSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 8, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84072">84072</a>: Text field doesn't have border<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83237">83237</a>: [Breakpoint Groups] Breakpoint working set actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84258">84258</a>: Find variable enabled when view is empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83453">83453</a>: Infinite &quot;restore viewer state&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73417">73417</a>: Wrong thread selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84078">84078</a>: RemoteTreeContentManager should override default job name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84493">84493</a>: Flashing job notification on stepping: "Restore Viewer state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84189">84189</a>: Remove &quot;final&quot; limitation from Launch implementation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77781">77781</a>: No feedback when launch is waiting for build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84454">84454</a>: Allow termination of launch when in &quot;waiting for build...&quot; state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83607">83607</a>: ClassCastException during saving VariablesView state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84605">84605</a>: update javadoc for IDebugModelPresentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84385">84385</a>: disabling breakpoint with ruler action does update check box in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83794">83794</a>: API issue with logical structures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72838">72838</a>: Say which project in &quot;Errors exist in a required project. Continue to launch?&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64424">64424</a>: Enhancement required in the Launch Configuration extension point<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 1, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83779">83779</a>: NPE attempting to edit string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75849">75849</a>: Support for search in variables view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83054">83054</a>: Changing toString() setting at debug time has no immediate effect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83570">83570</a>: Mnemonic collisions on CommonTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83956">83956</a>: Hang while debugging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 25, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82866">82866</a>: [Breakpoint Groups] The default groups should be emphasized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82993">82993</a>: &quot;show qualified names&quot; broken in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83035">83035</a>: breakpoints not visible when view brought to top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83103">83103</a>: newly created breakpoint not visible in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82886">82886</a>: Breakpoints view "expands all" too often<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83244">83244</a>: [Breakpoint Groups] wording in advanced ordering dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44724">44724</a>: background content in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82840">82840</a>: Concurrent modification exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82729">82729</a>: Run to line should work in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82931">82931</a>: NPE in RenderingViewPane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82869">82869</a>: [Breakpoint Groups] show only breakpoint working sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74125">74125</a>: [Console] provide API for images<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75227">75227</a>: Allow DND of breakpoints to breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83235">83235</a>: [Breakpoint Groups] show empty breakpoint sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83238">83238</a>: [Breakpoint Groups] Breakpoint actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83260">83260</a>: dnd with nested breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83277">83277</a>: Run/Debug: reuse editor does not affect current workbench session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82492">82492</a>: Groups do not indicate that the breakpoint manager is disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83365">83365</a>: Cutting a breakpoint doesn't remove the breakpoint from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82912">82912</a>: breakpoint groups "Others" category could be more descriptive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75891">75891</a>: Stratum line breakpoints should be grouped by stratum.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83202">83202</a>: No mnemonics on Breakpoint working set page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82868">82868</a>: [Breakpoint Groups] Custom working set dialog<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 18, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80991">80991</a>: Promote StringVariableSelectionDialog to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82553">82553</a>: NPE from TerminateAllAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80924">80924</a>: errors in log running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75194">75194</a>: CommonSourceNotFoundEditor is closed unexpectedly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76272">76272</a>: Use working sets to store custom breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71149">71149</a>: [artwork] When breakpoints are disabled (skipped), the bullet should be different<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81236">81236</a>: Consider console output to a workspace file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82708">82708</a>: Cannot delete console output file w/o removing console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82908">82908</a>: console ckpii error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80321">80321</a>: Support "Group By > Working Set" in Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82865">82865</a>: [Breakpoint Groups] "Show" actions for breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82871">82871</a>: [Breakpoint Groups] Deselect working should disable when none<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82882">82882</a>: Need to provide an icon for "working set organizer"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82883">82883</a>: IBreakpointOrganizer not needed in public API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82885">82885</a>: "Breakpoint organizers" don't show icons in cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82895">82895</a>: Broken strings in new "breakpoint working set" dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82900">82900</a>: should be able to create empty breakpoint working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80207">80207</a>: launch variables should insert at cursor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 11, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82003">82003</a>: The IDisconnect implementation by Launch module is too restrictive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82001">82001</a>: When shutting down the IDE, the debugger should first attempt to disconnect debug targets before terminating them<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80551">80551</a>: Provide AbstractRunToLineAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82402">82402</a>: [Memory View] Bad error message format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>: Memory View does not scroll properly on Linux<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82403">82403</a>: [Memory View] Unable to remove more than one memory monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82280">82280</a>: remove TextConsole.setAutoScroll()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82479">82479</a>: run to line test failures<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 4, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72909">72909</a>: Add &quot;Remove All Breakpoints&quot; action to &quot;Run&quot; menu<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 21, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81540">81540</a>: no need to create annotation for editors without annotation model<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71149">71149</a>: [artwork] When breakpoints are disabled (skipped), the bullet should be different<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-M4, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70938">70938</a>: Need to be able to turn off &quot;Watch&quot; action for IVariable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80522">80522</a>: VariablesView and problems with hyperlink support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81234">81234</a>: Console Pinning causes no console to be displayed.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80227">80227</a>: Fixed width console of 80 chars double spaces 80 char lines<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80546">80546</a>: Incorrect package ref for IRunToLineTarget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80617">80617</a>: Memory View does not synchronize properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80331">80331</a>: NPE from AbstractDebugActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80409">80409</a>: Breakpoints Group By > menu should number submenu starting with 1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76297">76297</a>: Enhancements to memory block API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78335">78335</a>: Support for word-addressable memory in memory view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78423">78423</a>: Enhancements to Memory Rendering Extension Point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79255">79255</a>: Enhancements to Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80284">80284</a>: Enhancements to Memory View - replace MemoryViewPane with Tree Viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80229">80229</a>: AIOB exception with fixed width console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80679">80679</a>: Encoding dropdown enabled on common tab of launch config when default selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80653">80653</a>: IllegalArgumentException from OpenBreakpointMarkerAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1654">1654</a>: USABILITY - Can't look at client server output in one perspective (1GFX2ZU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80726">80726</a>: new launch doesn't open console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80728">80728</a>: ShowConsoleAction not working when console pinned<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80720">80720</a>: Pinned console does not remain on top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80373">80373</a>: Pinning of consoles is lost after relaunch of debug process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80729">80729</a>: NPE in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80873">80873</a>: Fill out schema for logical structure providers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80721">80721</a>: Conflicting key binding for 'org.eclipse.debug.ui.commands.eof' and 'org.eclipse.ui.edit.text.delete.line'<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79153">79153</a>: [Common Tab] redirect to file should do variable expansion<br>	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79757">79757</a>: NoClassDefFoundError when opening type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79897">79897</a>: Debug view flashes after terminating target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79903">79903</a>: Source not found automatically for higher level plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79949">79949</a>: Console View is missing Ctrl-C in context menu item.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79841">79841</a>: Memory view leaks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79606">79606</a>: Common tab is too tall<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79735">79735</a>: Allow to append / overwrite when output to file from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79952">79952</a>: broken hyperlink in console redirecting process output to console.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79306">79306</a>: Custom breakpoint group action enablement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30779">30779</a>: Queue/Fire debug events in separate thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79951">79951</a>: Output lost / colored incorrect with echoProperties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80073">80073</a>: Shortcut for show debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79510">79510</a>: background source lookup<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 30, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78881">78881</a>: NullPointerException in memory view when selecting watch expressions<br>	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78079">78079</a>: Error loading classes to to Apple's VM packaging.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79097">79097</a>: Mnemonic collision on the Commons tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79466">79466</a>: Capture Output file widgets enabled initially<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35400">35400</a>: new Debugger view can't get to associated text editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23064">23064</a>: RFE: Add option to redirect console output (stderr & stdout) to file<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76316">76316</a>: Addition of memory block manager to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76310">76310</a>: Memory block enhancements: MemoryByte<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78864">78864</a>: Using new registry API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value &quot;null&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77060">77060</a>: Toggling show qualified names in the Debug view collapses thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78010">78010</a>: NPE closing eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79008">79008</a>: Dialog units should not be used for calculating button heights<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77380">77380</a>: hyperlinks in stack trace console draw &quot;higher&quot; than original text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78739">78739</a>: stack trace console unexpectedly restored<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78751">78751</a>: Extension Point Schema Changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78996">78996</a>: ContextualLaunchAction assumes launch group category supports mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78759">78759</a>: NPE in WatchExpression.getLaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 16, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73882">73882</a>: ConsoleDocumentManager caused a deadlock<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77779">77779</a>: Advanced Breakpoints grouping dialog improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76119">76119</a>: source containers not disposed when launch removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78191">78191</a>: [console] context menu contributions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77995">77995</a>: NPE out of LaunchViewer running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74590">74590</a>: Console colors not changed for terminated processes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68621">68621</a>: Invalid thread access in launcher from Checkout thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78193">78193</a>: IOConsolePartitioner.TrimJob quits too early if lastPartition is null<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78351">78351</a>: Please add shortcut keys to switch to Variables and Breakpoints views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77416">77416</a>: Filter console factories by capabilities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78386">78386</a>: NPE in ProcessConsoleManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78456">78456</a>: Breakpoint group setting lost on close of breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78494">78494</a>: State of child BreakpointContainers are not updated when parent is enabled/disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75851">75851</a>: Custom variable edit widget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78513">78513</a>: Memory View: Length and change state incorrect for IMemoryBlock<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29581">29581</a>: Launch shortcut hotkeys<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 9, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74584">74584</a>: [Console] IOConsole does not bold title when contents change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75571">75571</a>: restore defaults does not enable console buffer size text field<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77667">77667</a>: Invalid error message in Run/Debug|Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77783">77783</a>: No mnemonic for &quot;Group By&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77670">77670</a>: breakpoint group rendered as &quot;enabled&quot; when manager disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77721">77721</a>: groups not expanded when switching between none and other<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77991">77991</a>: Leak: IOConsolePage needs to dispose ScrollLockAction<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77703">77703</a>: Deselecting Map$Entry/Show As&gt;/Key And Value Deselects Map/Show As&gt;/Map Entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77754">77754</a>: Inefficient loop rendering styled text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77472">77472</a>: NPE in TextConsolePage runnable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77994">77994</a>: TextConsoleViewer leaks ConsoleDocumentAdapter<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77998">77998</a>: IOConsoleViewer leaks a document listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76605">76605</a>: Set our compiler settings for each project so they are shared<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77748">77748</a>: NPE terminating a target<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 2, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76771">76771</a>: Inconsistency between schema description and implementation in logicalStructureTypes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77049">77049</a>: SelectBreakpointGroupDialog doesn't allow selection of existing groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76675">76675</a>: Pattern Matching independent of IOConsole and IOConsolePartitioner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77028">77028</a>: Element 'breakpointContainerFactory' is not legal as a child of element 'extension'.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77046">77046</a>: Console causing Ant test failures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77072">77072</a>: Composite breakpoint group expansion problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77065">77065</a>: scroll lock not required in stack trace console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77066">77066</a>: Pressing &lt;Enter&gt; in strack trace console appends to EOD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76907">76907</a>: Clarify run menu (run, run..., run &gt; run...?  RUN!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54916">54916</a>: Environment tab should show icons for env vars<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74206">74206</a>: Delete breakpoint needs to "preserve selection"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74031">74031</a>: No mnemonics on Open Console drop down items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74123">74123</a>: Console font problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75370">75370</a>: Hyperlinks to source in console don't work sometimes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77029">77029</a>: &quot;Browse&quot; button on the Common tab does not resize properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77033">77033</a>: Console encoding on Common tab: mnemonics and NLS<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77189">77189</a>: exception during test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77068">77068</a>: Typing in stack trace console moves line to top of view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77116">77116</a>: API cannot reference internal classes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77306">77306</a>: Provide a rendering view pane in the Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69815">69815</a>: DBCS -- System console cannot display Unicode characters properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76427">76427</a>: Run configuration dialog layout<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69083">69083</a>: Switch to associated perspective on suspension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77063">77063</a>: JavaStackTraceConsole should use Hyperlink Color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77295">77295</a>: Argument parsing for command line launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77238">77238</a>: Enable/Disable not on context menu for breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77048">77048</a>: ArrayIndexOutOfBounds removing breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77397">77397</a>: Book capitalization in Color and Font extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77253">77253</a>: Sort the consoles in the Open console dropdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77073">77073</a>: Expand to show breakpoint containers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77421">77421</a>: [Themes] default text editor font changes by itself<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77462">77462</a>: CVS Plug-in fails to start<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74596">74596</a>: Always group by breakpoint type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75119">75119</a>: Default breakpoint group setting not used when breakpoints view not there<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 26, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76539">76539</a>: ILaunchConfiguration.getAttributes doc/clone usage pbm<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76677">76677</a>: Console Input incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76110">76110</a>: Breakpoints not showing as installed in the BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76532">76532</a>: Deleting multipe groups prompts for each group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75183">75183</a>: DebugEvent.CHANGE does not cause run control action states to be updated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76797">76797</a>: Two output stream reader threads and 100% CPU usages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76743">76743</a>: Console pipes should be closed when program terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51884">51884</a>: Feature request: More flexible debug hierarchy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76514">76514</a>: Allow debug presentations to provide colors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76517">76517</a>: NPE in LaunchViewContextListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76529">76529</a>: Renaming a custom group collapses all of the groups<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 19, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75967">75967</a>: NullPointerException in IOConsolePartitioner.getRegion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75769">75769</a>: Console doesn't restore displayed tab width 8 on restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75174">75174</a>: Can not clear console with unlimited output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75546">75546</a>: hang during debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72500">72500</a>: Migrate StringMatcher to RegEx 1.4 support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75198">75198</a>: breakpoint groups don't support double click expand<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76428">76428</a>: Run configuration dialog; source tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76270">76270</a>: Scroll in Console is always lock.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76208">76208</a>: Incorrect code for converting String-> boolean<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75282">75282</a>: Composite breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76518">76518</a>: Buttons in the Group Breakpoints "Advanced" dialog incorrectly sized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76521">76521</a>: Incorrect icon names for the breakpoint group actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76519">76519</a>: Expand all in the Breakpoints view with no groups causes infinite recursion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74673">74673</a>: Add Expand/Collapse All to Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76495">76495</a>: Delete action is enabled for a group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76498">76498</a>: "set custom group" should have "..."<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76497">76497</a>: illegal argument exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76326">76326</a>: Shared launch configurations not removed when containing project is deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76527">76527</a>: Flaw in AbstractBreakpointGroupAction->rename and dissolve broken<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 12, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75454">75454</a>: RuntimeProcess.isTerminated() replies "false" if process segfaults<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75402">75402</a>: NPE on LaunchShortcutsAction.createContext<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75588">75588</a>: generalize watchpoint to debug platform<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75111">75111</a>: ArrayIndexOutOfBoundsException in ContentWidthCache.textChanged<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75177">75177</a>: Error setting Console Preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75204">75204</a>: NPE using build 200409240800<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75226">75226</a>: IllegalArgumentException setting console size from 200k to 400k<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75506">75506</a>: Adjust for the many deprecations in the command extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75405">75405</a>: Allow a logical structure type to provide more than one logical structure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75123">75123</a>: Use PerspectiveLabelProvider in ViewManagementPreferencePage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75372">75372</a>: NPE in org.eclipse.ui.console.IOConsole.getHyperlink<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72209">72209</a>: Inspect and Display popup does not allow copying of values<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 28, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74947">74947</a>: Remove warnings from 200409240800 build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74741">74741</a>: console hyperlink search is slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34052">34052</a>: CTRL-Z Not Recognized as EOF<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 21-23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56253">56253</a>: [Generic Console] no support for extending the toolbar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73942">73942</a>: IllegalMonitorStateException pasting into the Java Stack Trace Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73908">73908</a>: [Console] Incorrect colorization when multi streams write to same line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56252">56252</a>: [Generic Console] no support for enabled/disabled lifecycles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73957">73957</a>: API break introduced with IConsoleHyperlink change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73924">73924</a>: Console can be removed before it's page is created<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73893">73893</a>: Should disallow close in LCD when running an operation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73842">73842</a>: Remove from Group enabled when breakpoint not in a group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73576">73576</a>: Pattern matching in IOConsole is too expensive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73996">73996</a>: Add to Group / Remove from Group incorrectly disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74005">74005</a>: Persist last breakpoint group across invocations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73950">73950</a>: MemoryView leaks AddMemoryBlockAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73951">73951</a>: CopyViewTabToClipboardAction leaks Clipboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74033">74033</a>: ClassCastException on selection change in Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73840">73840</a>: Group by>File seems to only match on name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74000">74000</a>: ClassCastException filtering for "show support breakpoints"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73870">73870</a>: [misc] NPE when terminating large output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73917">73917</a>: [Console] Missing hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74080">74080</a>: Process console did not flush stream monitors<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74124">74124</a>: Console type should be promoted to IConsole<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74308">74308</a>: Wrong number of lines in output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74331">74331</a>: CPU at 99% after a debug session<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74340">74340</a>: NPE in IOConsoleViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74370">74370</a>: NPE from ProcessConsolePageParticipant<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74039">74039</a>: NPE in ProcessConsole.connect<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68077">68077</a>: Manually closed views do not open when view management is reset<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73841">73841</a>: Icon for grouped breakpoints not disabled with set to skip breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74229">74229</a>: Debug test failure for program arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74283">74283</a>: Empty output in debug tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74703">74703</a>: Console view activated even if nothing is written to standart out<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74431">74431</a>: [Mac] runtime discovers JDI interfaces in classes.jar before jdi.jar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48286">48286</a>: Add support for input on consoles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74024">74024</a>: Console buffer implementation is line based rather than char based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74428">74428</a>: Clearing console during output breaks hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74363">74363</a>: &quot;Terminate and Remove&quot; action doesn't close a view tied to a Context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74563">74563</a>: renaming breakpoint group collapses group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74381">74381</a>: Launch view manages views in other perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74384">74384</a>: Numerous action delegates leaked on debug perspective closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74465">74465</a>: Pasting multiple lines in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74558">74558</a>: "Dissolve Group" should be "Ungroup"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21597">21597</a>: Difficult to enter text in debug console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: Copying from IOConsole inserts extra line breaks.<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73823">73823</a>: Reorganize BreakpointsView menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72167">72167</a>: ProcessConsole should extend IOConsole<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44986">44986</a>: Support for Breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73704">73704</a>: Provide action to group breakpoints by Type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70066">70066</a>: Bind &quot;Alt+Shift+Q C&quot; to active console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73493">73493</a>: Default VM Args field should parse quotes intuitively<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73577">73577</a>: Find (Ctrl-F) not enabled in ConsoleView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73779">73779</a>: Allow browse in &quot;Add To Group&quot; dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70471">70471</a>: ExpressionManager#handleDebugEvents() doesn't work as intended<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73844">73844</a>: Mnemonics missing from breakpoint groups<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72986">72986</a>: ExpressionInformationControl leaks<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72000">72000</a>: Run as Application: duplicate menmonics<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72449">72449</a>: NPE in VariablesView.saveState<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73068">73068</a>: Support for ordering launch shortcuts<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73069">73069</a>: bogus extension point id in org.eclipse.debug.ui.launchShortcuts<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73110">73110</a>: IConsoleColorProvider is not disconnected<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72472">72472</a>: Remove unused dependancies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72551">72551</a>: add System property to test suite to turn off workbench and console activation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51562">51562</a>: console doesn't wrap input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: IOConsole inserts extra line breaks when pasting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72517">72517</a>: Replace &quot;Run As &gt;&quot; with context launch<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73272">73272</a>: NPE in ProcessConsoleManager when no process type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70664">70664</a>: TVT3.0:   Improper characters combination &quot;Run As&quot;<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 31, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72300">72300</a>: Confirmation on RemoveAll actions<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72350">72350</a>: NPE in BreakpointsView.dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72881">72881</a>: LineTracker Test Failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72483">72483</a>: NPE attempt to Inspect if never shown Variable view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27895">27895</a>: Add new command to Run-menu; Resume All Threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67383">67383</a>: breakpoint manage fires add notificaiton on initialization<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 24, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72169">72169</a>: provided debug context for non-UI thread<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26830">26830</a>: Allow external programs to create tasks and markers through regex matches on the output<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27591">27591</a>: [Console] Hyperlink color not used<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72165">72165</a>: MessageConsole should extend IOConsole<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70864">70864</a>: API method to show the console view has a bug<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28193">28193</a>: Watch expressions updating when expression view not visible<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31899">31899</a>: Consolidate "Java" hyperlinks<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71292">71292</a>: Launch name is truncated in MRU list<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71429">71429</a>: Choosing 'Cancel' in the ${string_prompt} dialog does not cancel the Run command<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61447">61447</a>: keybinding clean up.<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71561">71561</a>: Inspect popup doesn't handle tabs in inspected expression<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72370">72370</a>: [Console] ArrayIndexOutOfBounds<br> 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 17, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70354">70354</a>: JSP editor does not scroll to/highlight the current execution line when debug with JDT<br>
- 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 3, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69470">69470</a>: TVT3.0: NL Truncation occurs in Run -> External Tools -> External Tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69723">69723</a>: TVT3.0: Truncated text in memory view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69952">69952</a>: ILaunchConfigurationListener's launchConfigurationRemoved gets a configuration that doesn't exist<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71185">71185</a>: TVT3.0: Extra mnemonics for Debug, Run, and External tools<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61566">61566</a>: Launch configs dialog: Arrow_Up/Down in configurations tree extremely slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64370">64370</a>: Fix setTitle deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68808">68808</a>: all debug actions (step, terminate, etc), should be done async<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 27, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69536">69536</a>: Infinite loop on rendering variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69978">69978</a>: TVT3.0: Two shortcuts for one menuitem<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69057">69057</a>: Incorrect icon in Breakpoints view when breakpoint manager disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69190">69190</a>: NullPointerException @ org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer.isFindDuplicates<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70472">70472</a>: MemoryBlockManager has redundant null check<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70492">70492</a>: Possible NPE in AddSourceContainerDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70493">70493</a>: Possible NPE in ViewTabCursorManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70495">70495</a>: Redundant null check in RefreshTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70499">70499</a>: Unnecessary null check in ContextualLaunchAction#selectionChanged(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69452">69452</a>: NPE initializing source lookup<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70571">70571</a>: launch config save location on Common tab<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68523">68523</a>: missing `return' in org.eclipse.ui.internal.console.MessageConsolePartition<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24829">24829</a>: Multiple toString results shown if hold down arrow key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68413">68413</a>: NPE from InstructionPointerManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70051">70051</a>: MemoryViewTab does not calculate delta and selected address correctly after error<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/component.xml b/org.eclipse.debug.core/component.xml
deleted file mode 100644
index 106033a..0000000
--- a/org.eclipse.debug.core/component.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Debug">
- <plugin id="org.eclipse.debug.core" />
-
- <package name="org.eclipse.debug.core">
- 	<type name="DebugEvent" subclass="false" />
- 	<type name="DebugException" subclass="false" />
- 	<type name="DebugPlugin" subclass="false" instantiate="false" />
- 	<type name="IBreakpointListener" />
- 	<type name="IBreakpointManager" implement="false" />
- 	<type name="IBreakpointManagerListener" />
- 	<type name="IBreakpointsListener" />
- 	<type name="IDebugEventFilter" />
- 	<type name="IDebugEventSetListener" />
- 	<type name="IExpressionListener" />
- 	<type name="IExpressionManager" implement="false" />
- 	<type name="IExpressionsListener" />
- 	<type name="ILaunch" />
- 	<type name="ILaunchConfiguration" implement="false" />
- 	<type name="ILaunchConfigurationListener" />
- 	<type name="ILaunchConfigurationType" implement="false" />
- 	<type name="ILaunchConfigurationWorkingCopy" implement="false" />
- 	<type name="ILaunchesListener" />
- 	<type name="ILaunchesListener2" />
- 	<type name="ILaunchListener" />
- 	<type name="ILaunchManager" implement="false" />
- 	<type name="ILaunchMode" implement="false" />
- 	<type name="ILogicalStructureProvider" />
- 	<type name="ILogicalStructureType" />
- 	<type name="IMemoryBlockListener" />
- 	<type name="IMemoryBlockManager" implement="false" />
- 	<type name="IProcessFactory" />
- 	<type name="IStatusHandler" />
- 	<type name="IStreamListener" />
- 	<type name="Launch" />
- </package>
- <package name="org.eclipse.debug.core.model">
- 	<type name="Breakpoint" />
- 	<type name="DebugElement" />
- 	<type name="IBreakpoint" />
- 	<type name="IDebugElement" />
- 	<type name="IDebugModelProvider" />
- 	<type name="IDebugTarget" />
- 	<type name="IDisconnect" />
- 	<type name="IDropToFrame" />
- 	<type name="IErrorReportingExpression" />
- 	<type name="IExpression" />
- 	<type name="IFilteredStep" />
- 	<type name="IFlushableStreamMonitor" />
- 	<type name="IIndexedValue" />
- 	<type name="ILaunchConfigurationDelegate" />
- 	<type name="ILaunchConfigurationDelegate2" />
- 	<type name="ILineBreakpoint" />
- 	<type name="ILogicalStructureTypeDelegate" />
- 	<type name="ILogicalStructureTypeDelegate2" />
- 	<type name="IMemoryBlock" />
- 	<type name="IMemoryBlockExtension" />
- 	<type name="IMemoryBlockRetrieval" />
- 	<type name="IMemoryBlockRetrievalExtension" />
- 	<type name="IPersistableSourceLocator" />
- 	<type name="IProcess" />
- 	<type name="IRegister" />
- 	<type name="IRegisterGroup" />
- 	<type name="ISourceLocator" />
- 	<type name="IStackFrame" />
- 	<type name="IStep" />
- 	<type name="IStepFilters" />
- 	<type name="IStreamMonitor" />
- 	<type name="IStreamsProxy" />
- 	<type name="IStreamsProxy2" />
- 	<type name="ISuspendResume" />
- 	<type name="ITerminate" />
- 	<type name="IThread" />
- 	<type name="IValue" />
- 	<type name="IValueModification" />
- 	<type name="IVariable" />
- 	<type name="IWatchExpression" implement="false" />
- 	<type name="IWatchExpressionDelegate" />
- 	<type name="IWatchExpressionListener" />
- 	<type name="IWatchExpressionResult" />
- 	<type name="IWatchpoint" />
- 	<type name="LaunchConfigurationDelegate" />
- 	<type name="LineBreakpoint" />
- 	<type name="MemoryByte" />
- 	<type name="RuntimeProcess" /> 	
- </package>
- <package name="org.eclipse.debug.core.sourcelookup">
- 	<type name="AbstractSourceLookupDirector" />
- 	<type name="AbstractSourceLookupParticipant" />
- 	<type name="IPersistableSourceLocator2" />
- 	<type name="ISourceContainer" />
- 	<type name="ISourceContainerType" implement="false" />
- 	<type name="ISourceContainerTypeDelegate" />
- 	<type name="ISourceLookupDirector" />
- 	<type name="ISourceLookupParticipant" />
- 	<type name="ISourcePathComputer" implement="false" />
- 	<type name="ISourcePathComputerDelegate" />
- </package>
- <package name="org.eclipse.debug.core.sourcelookup.containers">
- 	<type name="AbstractSourceContainer" />
- 	<type name="AbstractSourceContainerTypeDelegate" />
- 	<type name="ArchiveSourceContainer" subclass="false" />
- 	<type name="CompositeSourceContainer" />
- 	<type name="DefaultSourceContainer" subclass="false" />
- 	<type name="DirectorySourceContainer" subclass="false" />
- 	<type name="ExternalArchiveSourceContainer" subclass="false" />
- 	<type name="FolderSourceContainer" subclass="false" />
- 	<type name="LocalFileStorage" subclass="false" />
- 	<type name="ProjectSourceContainer" subclass="false" />
- 	<type name="WorkspaceSourceContainer" subclass="false" />
- 	<type name="ZipEntryStorage" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
deleted file mode 100644
index af63e56..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.EventObject;
-
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * A debug event describes an event in a program being debugged or
- * in a running process. Debug models and process implementations
- * are required to generate debug events as specified by this class.
- * <p>
- * The following list defines the events generated for each debug
- * model element.
- * The <code>getSource()</code> method of a debug event
- * returns the element associated with the event.
- * Creation events are guaranteed to occur in a top
- * down order - that is, parents are created before children.
- * Termination events are guaranteed to occur in a bottom up order -
- * that is, children before parents. However, termination events are not guaranteed
- * for all  elements that are created. That is, terminate events can be coalesced - a 
- * terminate event for a parent signals that all children have been terminated.
- * </p>
- * <p>
- * A debug model may define model specific events by specifying a debug event
- * kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by the
- * event source (i.e. by the debug model that generated the event). The detail of
- * a model specific event is client defined. Note that model specific events are
- * not understood by the debug platform, and are thus ignored.
- * </p>
- * <p>
- * The generic <code>CHANGE</code> event can be fired at any time by any element.
- * Generally, a client of a debug model, such as as a UI, can get sufficient
- * information to update by listening/responding to the other event kinds. However,
- * if a debug model needs to inform clients of a change that is not specified
- * by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used.
- * For example, generally, the only way a thread or any of its children can change
- * state between a suspend and resume operation, is if the thread or owning debug
- * target is terminated. However, if a debug model supports some other operation
- * that would allow a debug element to change state while suspended, the debug model
- * would fire a change event for that element. The valid detail codes for a
- * change event are:<ul>
- * <li><code>STATE</code> - indicates the state of an element has changed, but its
- *  children are not affected. A client would use a state change event to update
- *  a label of the affected element, but would not update any children.</li>
- * <li><code>CONTENT</code> - indicates that a debug element's value or contents have
- *  changed in some way. For example, when the value of a variable is changed
- *  explicitly, the variable should fire a content change event.</li>
- * </ul>
- * </p>
- * <ul>
- * <li><code>IProcess</code>
- *	<ul>
- *	<li><code>CREATE</code> - a process has been created and is executing.</li>
- *	<li><code>TERMINATE</code> - a process has terminated.</li>
- *  </ul>
- * <li><code>IDebugTarget</code>
- *	<ul>
- *	<li><code>CREATE</code> - a debug target has been created and is ready
- *		to begin a debug session.</li>
- *	<li><code>TERMINATE</code> - a debug target has terminated and the debug
- *		session has ended.</li>
- *  <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *  <li><code>RESUME</code> - a debug target has resumed. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *	</ul>
- * </li>
- * <li><code>IThread</code>
- *	<ul>
- *	<li><code>CREATE</code> - a thread has been created in a debug target.</li>
- *	<li><code>TERMINATE</code> - a thread has terminated.</li>
- *	<li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has ended that may
- * 			have had side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that
- * 			had no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *	<li><code>RESUME</code> - a thread has resumed execution. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has started that may
- * 			have side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that
- * 			will have no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *    </ul>
- * </li>
- * <li><code>IStackFrame</code> - no events are specified for stack frames.
- *	When a thread is suspended, it has stack frames. When a thread resumes,
- *	stack frames are unavailable.
- * </li>
- * <li><code>IVariable</code> - no events are specified for variables.
- *	When a thread is suspended, stack frames have variables. When a thread resumes,
- *	variables are unavailable.
- * </li>
- * <li><code>IValue</code> - no events are specified for values.
- * </li>
- * </ul>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- */
-public final class DebugEvent extends EventObject {
-	
-    /**
-     * All serializable objects should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-    
-	/**
-	 * Resume event kind.
-	 */
-	public static final int RESUME= 0x0001;
-
-	/**
-	 * Suspend event kind.
-	 */
-	public static final int SUSPEND= 0x0002;
-
-	/**
-	 * Create event kind.
-	 */
-	public static final int CREATE= 0x0004;
-
-	/**
-	 * Terminate event kind.
-	 */
-	public static final int TERMINATE= 0x0008;
-	
-	/**
-	 * Change event kind.
-	 */
-	public static final int CHANGE= 0x0010;
-	
-	/**
-	 * Model specific event kind. The detail codes
-	 * for a model specific event are client defined.
-	 * 
-	 * @since 2.1.2
-	 */
-	public static final int MODEL_SPECIFIC= 0x0020;	
-
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * into action.
-	 * @since 2.0
-	 */
-	public static final int STEP_INTO= 0x0001;
-	
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * over action.
-	 * @since 2.0
-	 */
-	public static final int STEP_OVER= 0x0002;
-	
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * return action.
-	 * @since 2.0
-	 */
-	public static final int STEP_RETURN= 0x0004;		
-
-	/**
-	 * Step end detail. Indicates a thread was suspended due
-	 * to the completion of a step action.
-	 */
-	public static final int STEP_END= 0x0008;
-	
-	/**
-	 * Breakpoint detail. Indicates a thread was suspended by
-	 * a breakpoint.
-	 */
-	public static final int BREAKPOINT= 0x0010;
-	
-	/**
-	 * Client request detail. Indicates a thread was suspended due
-	 * to a client request.
-	 */
-	public static final int CLIENT_REQUEST= 0x0020;
-	
-	/**
-	 * Evaluation detail. Indicates that a thread was resumed or
-	 * suspended to perform an expression evaluation.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int EVALUATION = 0x0040;
-	
-	/**
-	 * Evaluation detail. Indicates that a thread was resumed or
-	 * suspended to perform an implicit expression evaluation.
-	 * An implicit evaluation is an evaluation that is performed
-	 * as an indirect result of a user action.
-	 * Clients may use this detail event to decide whether or not
-	 * to alert the user that an evaluation is taking place..
-	 * 
-	 * @since 2.0
-	 */
-	public static final int EVALUATION_IMPLICIT = 0x0080;
-
-	/**
-	 * State change detail. Indicates the state of a single 
-	 * debug element has changed. Only valid for <code>CHANGE</code>
-	 * events.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int STATE = 0x0100;
-	
-	/**
-	 * Content change detail. Indicates the content of a debug element
-	 * (and potentially its children) has changed. Only valid for
-	 * <code>CHANGE</code> events.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int CONTENT = 0x0200;	
-			
-	/**
-	 * Constant indicating that the kind or detail of a debug
-	 * event is unspecified.
-	 */
-	public static final int UNSPECIFIED = 0;
-	
-	/**
-	 * The kind of event - one of the kind constants defined by
-	 * this class.
-	 */
-	private int fKind= UNSPECIFIED;
-
-	/**
-	 * The detail of the event - one of the detail constants defined by
-	 * this class.
-	 */
-	private int fDetail= UNSPECIFIED;
-	
-	/**
-	 * Client defined data field.
-	 * 
-	 * @since 2.1.2
-	 */
-	private Object fData = null;
-	
-	/**
-	 * Constructs a new debug event of the given kind with a detail code of
-	 * <code>UNSPECIFIED</code>.
-	 *
-	 * @param eventSource the object associated with the event
-	 * @param kind the kind of debug event (one of the
-	 *	kind constants defined by this class)
-	 */
-	public DebugEvent(Object eventSource, int kind) {
-		this(eventSource, kind, UNSPECIFIED);
-	}
-
-	/**
-	 * Constructs a new debug event of the given kind with the given detail.
-	 *
-	 * @param eventSource the object associated with the event
-	 * @param kind the kind of debug event (one of the
-	 *	kind constants defined by this class)
-	 * @param detail extra information about the event (one of the
-	 *	detail constants defined by this class or a client defined detail if this is a model specific event)
-	 */
-	public DebugEvent(Object eventSource, int kind, int detail) {
-		super(eventSource);
-		if ((kind & (RESUME | SUSPEND | CREATE | TERMINATE | CHANGE | MODEL_SPECIFIC)) == 0)
-			throw new IllegalArgumentException(DebugCoreMessages.DebugEvent_illegal_kind); //$NON-NLS-1$
-		if (kind != MODEL_SPECIFIC && detail != UNSPECIFIED && (detail & (STEP_END | STEP_INTO | STEP_OVER | STEP_RETURN | BREAKPOINT | CLIENT_REQUEST |EVALUATION | EVALUATION_IMPLICIT | STATE | CONTENT)) == 0)
-			throw new IllegalArgumentException(DebugCoreMessages.DebugEvent_illegal_detail); //$NON-NLS-1$
-		fKind= kind;
-		fDetail= detail;
-	}
-
-	/**
-	 * Returns a constant describing extra detail about the event - either one
-	 * of the detail constants defined by this class, possibly
-	 * <code>UNSPECIFIED</code>, or a client defined detail if this is a model specific event.
-	 *
-	 * @return the detail code
-	 */
-	public int getDetail() {
-		return fDetail;
-	}
-
-	/**
-	 * Returns this event's kind - one of the kind constants defined by this class.
-	 * 
-	 * @return the kind code
-	 */
-	public int getKind() {
-		return fKind;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates the
-	 * beginning of a step event. This event's detail is one
-	 * of <code>STEP_INTO</code>, <code>STEP_OVER</code>, or
-	 * <code>STEP_RETURN</code>.
-	 * 
-	 * @return whether this event's detail indicates the beginning
-	 *  of a step event.
-	 * @since 2.0
-	 */
-	public boolean isStepStart() {
-		return (getDetail() & (STEP_INTO | STEP_OVER | STEP_RETURN)) > 0;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates an
-	 * evaluation. This event's detail is one
-	 * of <code>EVALUATION</code>, or <code>EVALUATION_IMPLICIT</code>.
-	 * 
-	 * @return whether this event's detail indicates an evaluation.
-	 * @since 2.0
-	 */
-	public boolean isEvaluation() {
-		return (getDetail() & (EVALUATION | EVALUATION_IMPLICIT)) > 0;
-	}	
-	
-	/**
-	 * Sets this event's application defined data.
-	 * 
-	 * @param data application defined data
-	 * @since 2.1.2
-	 */
-	public void setData(Object data) {
-		fData = data;
-	}
-	
-	/**
-	 * Returns this event's application defined data, or <code>null</code> if none
-	 * 
-	 * @return application defined data, or <code>null</code> if none
-	 * @since 2.1.2
-	 */
-	public Object getData() {
-		return fData;
-	}
-	
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buf = new StringBuffer("DebugEvent["); //$NON-NLS-1$
-		if (getSource() != null) {
-			buf.append(getSource().toString());
-		} else {
-			buf.append("null"); //$NON-NLS-1$
-		}
-		buf.append(", "); //$NON-NLS-1$
-		switch (getKind()) {
-			case CREATE:
-				buf.append("CREATE"); //$NON-NLS-1$
-				break;
-			case TERMINATE:
-				buf.append("TERMINATE"); //$NON-NLS-1$
-				break;
-			case RESUME:
-				buf.append("RESUME"); //$NON-NLS-1$
-				break;
-			case SUSPEND:
-				buf.append("SUSPEND"); //$NON-NLS-1$
-				break;				
-			case CHANGE:
-				buf.append("CHANGE"); //$NON-NLS-1$
-				break;
-			case UNSPECIFIED:
-				buf.append("UNSPECIFIED"); //$NON-NLS-1$
-				break;
-			case MODEL_SPECIFIC:
-				buf.append("MODEL_SPECIFIC"); //$NON-NLS-1$
-				break;
-		}
-		buf.append(", "); //$NON-NLS-1$
-		switch (getDetail()) {
-			case BREAKPOINT:
-				buf.append("BREAKPOINT"); //$NON-NLS-1$
-				break;
-			case CLIENT_REQUEST:
-				buf.append("CLIENT_REQUEST"); //$NON-NLS-1$
-				break;
-			case STEP_END:
-				buf.append("STEP_END"); //$NON-NLS-1$
-				break;
-			case STEP_INTO:
-				buf.append("STEP_INTO"); //$NON-NLS-1$
-				break;
-			case STEP_OVER:
-				buf.append("STEP_OVER"); //$NON-NLS-1$
-				break;
-			case STEP_RETURN:
-				buf.append("STEP_RETURN"); //$NON-NLS-1$
-				break;
-			case EVALUATION:
-				buf.append("EVALUATION"); //$NON-NLS-1$
-				break;
-			case EVALUATION_IMPLICIT:
-				buf.append("EVALUATION_IMPLICIT"); //$NON-NLS-1$
-				break;								
-			case STATE:
-				buf.append("STATE"); //$NON-NLS-1$
-				break;			
-			case CONTENT:
-				buf.append("CONTENT"); //$NON-NLS-1$
-				break;					
-			case UNSPECIFIED:
-				buf.append("UNSPECIFIED"); //$NON-NLS-1$
-				break;
-			default:
-				// model specific
-				buf.append(getDetail());
-				break;
-		}
-		buf.append("]"); //$NON-NLS-1$
-		return buf.toString();
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
deleted file mode 100644
index 97bf567..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-
-/**
- * A checked exception representing a failure.
- * <p>
- * Defines status codes relevant to the debug plug-in. When a 
- * debug exception is thrown, it contains a status object describing
- * the cause of the exception. The status objects originating from the
- * debug plug-in use the codes defined in this class.
- * </p>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- * @see IStatus
- */
-public class DebugException extends CoreException {	
-    
-    /**
-     * All serializable objects should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-    
-	/**
-	 * Indicates a request made of a debug element has failed
-	 * on the target side.
-	 */
-	public static final int TARGET_REQUEST_FAILED = 5010;
-	 
-	/**
-	 * Indicates a request is not supported by the capabilities of a debug element.
-	 * For example, a request was made to terminate an element that does not
-	 * support termination.
-	 */
-	public static final int NOT_SUPPORTED = 5011;
-
-	/**
-	 * Indicates that a request made of manager has failed, or a request made of a
-	 * debug element has failed on the client side (that is, before the request was
-	 * sent to the debug target).
-	 */
-	public static final int REQUEST_FAILED = 5012;
-
-	/**
-	 * Indicates an internal error. This is an unexpected state.
-	 */
-	public static final int INTERNAL_ERROR = 5013;
-	
-	/** 
-	 * Indicates an improperly configured breakpoint. Breakpoints have a minimal
-	 * set of required attributes as defined by the breakpoint manager.
-	 *
-	 * @see IBreakpointManager
-	 */
-	public static final int CONFIGURATION_INVALID = 5014;
-	
-	/**
-	 * Indicates a launch configuration could not be restored because its
-	 * launch configuration type definition is missing.
-	 * 
-	 * @since 3.0
-	 */
-	public static final int MISSING_LAUNCH_CONFIGURATION_TYPE = 5020;
-	
-	/**
-	 * Constructs a new debug exception with the given status object.
-	 *
-	 * @param status the status object describing this exception
-	 * @see IStatus
-	 */
-	public DebugException(IStatus status) {
-		super(status);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
deleted file mode 100644
index a6d5ea9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ /dev/null
@@ -1,1344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.debug.internal.core.BreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.ExpressionManager;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.core.ListenerList;
-import org.eclipse.debug.internal.core.LogicalStructureManager;
-import org.eclipse.debug.internal.core.MemoryBlockManager;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-import org.eclipse.osgi.service.environment.Constants;
-import org.osgi.framework.BundleContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * There is one instance of the debug plug-in available from
- * <code>DebugPlugin.getDefault()</code>. The debug plug-in provides:
- * <ul>
- * <li>access to the breakpoint manager</li>
- * <li>access to the launch manager</li>
- * <li>access to the expression manager</li>
- * <li>access to the registered launcher extensions</li>
- * <li>access to the memory block manager</li>
- * <li>debug event notification</li>
- * <li>status handlers</li>
- * </ul>
- * <p>
- * Clients may not instantiate or subclass this class.
- * </p>
- */
-public class DebugPlugin extends Plugin {
-	
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.debug.core"</code>)
-	 * for the Debug Core plug-in.
-	 */
-	private static final String PI_DEBUG_CORE = "org.eclipse.debug.core"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"launchConfigurationTypes"</code>)
-	 * for the launch configuration types extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES= "launchConfigurationTypes"; //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchConfigurationComparators"</code>)
-	 * for the launch configuration comparators extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS= "launchConfigurationComparators"; //$NON-NLS-1$		
-	
-	/**
-	 * Simple identifier constant (value <code>"breakpoints"</code>) for the
-	 * breakpoints extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_BREAKPOINTS= "breakpoints";	 //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"statusHandlers"</code>) for the
-	 * status handlers extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_STATUS_HANDLERS= "statusHandlers";	 //$NON-NLS-1$	
-
-	/**
-	 * Simple identifier constant (value <code>"sourceLocators"</code>) for the
-	 * source locators extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_SOURCE_LOCATORS= "sourceLocators";	 //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchModes"</code>) for the
-	 * source modes extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_MODES= "launchModes";	 //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchDelegates"</code>) for the
-	 * launch delegates extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_DELEGATES= "launchDelegates";	 //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"processFactories"</code>) for the
-	 * process factories extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_PROCESS_FACTORIES = "processFactories"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"logicalStructureTypes"</code>) for the
-	 * logical structure types extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES = "logicalStructureTypes"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"logicalStructureProviders"</code>) for the
-	 * logical structure types extension point.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS = "logicalStructureProviders"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"sourceContainerTypes"</code>) for the
-	 * source container types extension point.
-	 * 
-	 * @since 3.0
-	 */	
-	public static final String EXTENSION_POINT_SOURCE_CONTAINER_TYPES = "sourceContainerTypes";	 //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"sourcePathComputers"</code>) for the
-	 * source path computers extension point.
-	 * 
-	 * @since 3.0
-	 */		
-	public static final String EXTENSION_POINT_SOURCE_PATH_COMPUTERS = "sourcePathComputers"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-
-	/**
-	 * Status code indicating that the Eclipse runtime does not support
-	 * launching a program with a working directory. This feature is only
-	 * available if Eclipse is run on a 1.3 runtime or higher.
-	 * <p>
-	 * A status handler may be registered for this error condition,
-	 * and should return a <code>Boolean</code> indicating whether the program
-	 * should be relaunched with the default working directory.
-	 * </p>
-	 */
-	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115;
-	
-	/**
-	 * The launch configuration attribute that designates the process factory ID
-	 * for the process factory to be used when creating a new process as a result of launching
-	 * the launch configuration.
-	 * @since 3.0
-	 */
-	public static final String ATTR_PROCESS_FACTORY_ID = "process_factory_id"; //$NON-NLS-1$
-	
-	/**
-	 * The launch attribute that designates whether or not it's associated
-	 * launch should capture output. Value is a string representing a boolean -
-	 * <code>true</code> or <code>false</code>. When unspecififed, the default
-	 * value is considered <code>true</code>.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_CAPTURE_OUTPUT = PI_DEBUG_CORE + ".capture_output"; //$NON-NLS-1$
-	
-	/**
-	 * The singleton debug plug-in instance.
-	 */
-	private static DebugPlugin fgDebugPlugin= null;
-
-	/**
-	 * The singleton breakpoint manager.
-	 */
-	private BreakpointManager fBreakpointManager;
-	
-	/**
-	 * The singleton expression manager.
-	 */
-	private ExpressionManager fExpressionManager;	
-
-	/**
-	 * The singleton launch manager.
-	 */
-	private LaunchManager fLaunchManager;
-
-	/**
-	 * The singleton memory block manager.
-	 * @since 3.1
-	 */
-	private MemoryBlockManager fMemoryBlockManager;
-	
-	/**
-	 * The collection of debug event listeners.
-	 */
-	private ListenerList fEventListeners;
-	
-	/**
-	 * Event filters, or <code>null</code> if none.
-	 */
-	private ListenerList fEventFilters = null;
-
-	/**
-	 * Whether this plugin is in the process of shutting
-	 * down.
-	 */
-	private boolean fShuttingDown= false;
-	
-	/**
-	 * Whether event dispatch is in progress (if > 0)
-	 * 
-	 * @since 2.1
-	 */
-	private int fDispatching = 0;
-	
-	/**
-	 * Queue of runnables to execute after event dispatch is
-	 * complete.
-	 * 
-	 * @since 2.1
-	 */
-	private Vector fRunnables = null;
-	private final Object fRunnableLock = new Object();
-	
-	/**
-	 * Job that executes runnables
-	 * 
-	 * @since 3.0
-	 */
-	private AsynchJob fAsynchJob = null;
-		
-	/**
-	 * Table of status handlers. Keys are {plug-in identifier, status code}
-	 * pairs, and values are associated <code>IConfigurationElement</code>s.
-	 */
-	private HashMap fStatusHandlers = null;
-	
-	/**
-	 * Map of process factories. Keys are process factory IDs
-	 * and values are associated <code>IConfigurationElement</code>s.
-	 * @since 3.0
-	 */
-	private HashMap fProcessFactories = null;
-	
-	/**
-	 * Mode constants for the event notifier
-	 */
-	private static final int NOTIFY_FILTERS = 0;
-	private static final int NOTIFY_EVENTS = 1;
-		
-	/**
-	 * Queue of debug events to fire to listeners.
-	 * @since 3.1
-	 */
-	private List fEventQueue = new ArrayList();
-	
-	/**
-	 * Job to fire events to listeners.
-	 * @since 3.1
-	 */
-	private EventDispatchJob fEventDispatchJob = new EventDispatchJob();
-	
-	/**
-	 * Event dispatch job
-	 * @since 3.1
-	 */
-	class EventDispatchJob extends Job {
-		
-		EventNotifier fNotifier = new EventNotifier();
-
-	    /**
-         * Creates a new event dispatch job.
-         */
-        public EventDispatchJob() {
-            super(DebugCoreMessages.DebugPlugin_1); //$NON-NLS-1$
-            setPriority(Job.INTERACTIVE);
-            setSystem(true);
-        }
-        /* (non-Javadoc)
-         * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        protected IStatus run(IProgressMonitor monitor) {
-            
-            while (!fEventQueue.isEmpty()) {
-                DebugEvent[] events = null;
-	            synchronized (fEventQueue) {
-	                if (!fEventQueue.isEmpty()) {
-	                    events = (DebugEvent[]) fEventQueue.remove(0);
-	                }
-	            }
-	            if (events != null) {
-	                fNotifier.dispatch(events);
-	            }
-            }
-            return Status.OK_STATUS;
-        }
-	    
-        /* (non-Javadoc)
-         * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-         */
-        public boolean shouldRun() {
-            return shouldSchedule();
-        }
-        /* (non-Javadoc)
-         * @see org.eclipse.core.internal.jobs.InternalJob#shouldSchedule()
-         */
-        public boolean shouldSchedule() {
-            return !(isShuttingDown() || fEventListeners == null);
-        }
-        
-	}
-
-	/**
-	 * Returns the singleton instance of the debug plug-in.
-	 */
-	public static DebugPlugin getDefault() {
-		return fgDebugPlugin;
-	}
-	
-	/**
-	 * Sets the singleton instance of the debug plug-in.
-	 * 
-	 * @param plugin the debug plug-in, or <code>null</code>
-	 *  when shutting down
-	 */
-	private static void setDefault(DebugPlugin plugin) {
-		fgDebugPlugin = plugin;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_DEBUG_CORE;
-	}
-
-	/**
-	 * Constructs the debug plug-in.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by this plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public DebugPlugin() {
-		super();
-		setDefault(this);
-	}
-	
-	/**
-	 * Adds the given listener to the collection of registered debug
-	 * event listeners. Has no effect if an identical listener is already
-	 * registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.0
-	 */
-	public void addDebugEventListener(IDebugEventSetListener listener) {
-		if (fEventListeners == null) {
-			fEventListeners = new ListenerList(20);
-		}
-		fEventListeners.add(listener);
-	}	
-	
-	/**
-	 * Notifies all registered debug event set listeners of the given
-	 * debug events. Events which are filtered by a registered debug event
-	 * filter are not fired.
-	 * 
-	 * @param events array of debug events to fire
-	 * @see IDebugEventFilter
-	 * @see IDebugEventSetListener
-	 * @since 2.0
-	 */
-	public void fireDebugEventSet(DebugEvent[] events) {
-		if (isShuttingDown() || events == null || fEventListeners == null)
-			return;
-		synchronized (fEventQueue) {
-			fEventQueue.add(events);
-		}
-		fEventDispatchJob.schedule();
-	}
-	
-	/**
-	 * Asynchronously executes the given runnable in a seperate
-	 * thread, after debug event dispatch has completed. If debug
-	 * events are not currently being dispatched, the runnable is
-	 * scheduled to run in a seperate thread immediately.
-	 * 
-	 * @param r runnable to execute asynchronously
-	 * @since 2.1
-	 */
-	public void asyncExec(Runnable r) {
-		synchronized(fRunnableLock) {
-			if (fRunnables == null) {
-				// initialize runnables and async job
-				fRunnables= new Vector(5);
-				fAsynchJob = new AsynchJob();
-			}
-			fRunnables.add(r);
-		}
-		if (!isDispatching()) {
-			fAsynchJob.schedule();
-		} 
-	}
-	
-	/**
-	 * Returns the breakpoint manager.
-	 *
-	 * @return the breakpoint manager
-	 * @see IBreakpointManager
-	 */
-	public IBreakpointManager getBreakpointManager() {
-		if (fBreakpointManager == null) {
-			fBreakpointManager = new BreakpointManager();
-		}
-		return fBreakpointManager;
-	}
-	
-	/**
-	 * Returns the launch manager.
-	 *
-	 * @return the launch manager
-	 * @see ILaunchManager
-	 */
-	public ILaunchManager getLaunchManager() {
-		if (fLaunchManager == null) {
-			fLaunchManager = new LaunchManager();
-		}
-		return fLaunchManager;
-	}
-	
-	/**
-	 * Returns the memory block manager.
-	 * @return the memory block manager.
-	 * @see IMemoryBlockManager
-	 * @since 3.1
-	 */
-	public IMemoryBlockManager getMemoryBlockManager(){
-		if (fMemoryBlockManager == null) {
-			fMemoryBlockManager = new MemoryBlockManager();
-		}
-		return fMemoryBlockManager;
-	}
-	
-	/**
-	 * Returns the status handler registered for the given
-	 * status, or <code>null</code> if none.
-	 *
-	 * @return the status handler registered for the given
-	 *  status, or <code>null</code> if none
-	 * @since 2.0
-	 */
-	public IStatusHandler getStatusHandler(IStatus status) {
-		StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode());
-		if (fStatusHandlers == null) {
-			initializeStatusHandlers();
-		}
-		IConfigurationElement config = (IConfigurationElement)fStatusHandlers.get(key);
-		if (config != null) {
-			try {
-				Object handler = config.createExecutableExtension("class"); //$NON-NLS-1$
-				if (handler instanceof IStatusHandler) {
-					return (IStatusHandler)handler;
-				}
-				invalidStatusHandler(null, MessageFormat.format(DebugCoreMessages.DebugPlugin_Registered_status_handler__0__does_not_implement_required_interface_IStatusHandler__1, new String[] {config.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} catch (CoreException e) {
-				log(e);
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the expression manager.
-	 *
-	 * @return the expression manager
-	 * @see IExpressionManager
-	 * @since 2.0
-	 */
-	public IExpressionManager getExpressionManager() {
-		if (fExpressionManager == null) {
-			fExpressionManager = new ExpressionManager();
-		}
-		return fExpressionManager;
-	}	
-		
-	/**
-	 * Removes the given listener from the collection of registered debug
-	 * event listeners. Has no effect if an identical listener is not already
-	 * registered.
-	 *
-	 * @param listener the listener to remove
-	 * @since 2.0
-	 */
-	public void removeDebugEventListener(IDebugEventSetListener listener) {
-		if (fEventListeners != null) {
-			fEventListeners.remove(listener);
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			setShuttingDown(true);
-		
-			if (fAsynchJob != null) {
-				fAsynchJob.cancel();
-			}
-			if (fLaunchManager != null) {
-				fLaunchManager.shutdown();
-			}
-			if (fBreakpointManager != null) {
-				fBreakpointManager.shutdown();
-			}
-			if (fMemoryBlockManager != null)  {
-				fMemoryBlockManager.shutdown();
-			}
-			
-			if (fEventListeners != null) {
-				fEventListeners.removeAll();
-			}
-			SourceLookupUtils.shutdown();
-			setDefault(null);
-			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
-		} finally {
-			super.stop(context);
-		}
-	}
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch.
-	 * <p>
-	 * If the launch configuration associated with the given launch
-	 * specifies a process factory, it will be used to instantiate
-	 * the new process.
-	 * </p>
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @return the process
-	 * @see IProcess
-	 * @see IProcessFactory
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label) {
-		return newProcess(launch, process, label, null);
-	}
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch, and the process is initialized
-	 * with the given attribute map.
-	 * <p>
-	 * If the launch configuration associated with the given launch
-	 * specifies a process factory, it will be used to instantiate
-	 * the new process.
-	 * </p>
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param attributes initial values for the attribute map
-	 * @return the process <code>null</code> can be returned if errors occur dealing with the process factory
-	 * designated to create the process.
-	 * @see IProcess
-	 * @see IProcessFactory
-	 * @since 2.1
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) {
-		ILaunchConfiguration config= launch.getLaunchConfiguration();
-		String processFactoryID= null;
-		if (config != null) {
-			try {
-				processFactoryID= config.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null);
-			} catch (CoreException e) {
-			}
-		}
-		if (processFactoryID != null) {
-			DebugPlugin plugin= DebugPlugin.getDefault();
-			if (plugin.fProcessFactories == null) {
-				plugin.initializeProcessFactories();
-			}
-			IConfigurationElement element= (IConfigurationElement) plugin.fProcessFactories.get(processFactoryID);
-			if (element == null) {
-				return null;
-			}
-			IProcessFactory processFactory= null;
-			try {
-				processFactory = (IProcessFactory)element.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException exception) {
-				log(exception);
-				return null;
-			}
-			return processFactory.newProcess(launch, process, label, attributes);
-		} 
-		return new RuntimeProcess(launch, process, label, attributes);
-	}	
-	
-	/**
-	 * Returns any logical structure types that have been contributed for the given
-	 * value.
-	 * 
-	 * @param value the value for which logical structure types have been requested
-	 * @return logical structure types that have been contributed for the given
-	 * value, possibly an empty collection
-	 * 
-	 * @since 3.0
-	 */
-	public static ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		return LogicalStructureManager.getDefault().getLogicalStructureTypes(value);
-	}
-    
-    /**
-     * Returns the default logical structure type among the given combination of
-     * logical structure types, or <code>null</code> if none. When the given combination
-     * of logical structure type is applicable for a value, the default logical structure
-     * type is used to display a value.
-     * 
-     * @param types a combination of structures applicable to a value
-     * @return the default structure that should be used to display the value
-     * or <code>null</code> if none
-     *  
-     * @since 3.1
-     */
-    public static ILogicalStructureType getDefaultStructureType(ILogicalStructureType[] types) {
-        return LogicalStructureManager.getDefault().getSelectedStructureType(types);
-    }
-    
-    /**
-     * Sets the default logical structure type among the given combination of logical structure
-     * types. The logical structure types provided should all be applicable to a single
-     * value. Specifying <code>null</code> indicates there is no default logical stucture
-     * for the given combination of types.
-     * 
-     * @param types a combination of logical structure types applicable to a value
-     * @param def the default logical structure among the given combination of types
-     * or <code>null</code> if none
-     *  
-     * @since 3.1
-     */
-    public static void setDefaultStructureType(ILogicalStructureType[] types, ILogicalStructureType def) {
-        LogicalStructureManager.getDefault().setEnabledType(types, def);
-    }
-	
-	/**
-	 * Convenience method that performs a runtime exec on the given command line
-	 * in the context of the specified working directory, and returns the
-	 * resulting process. If the current runtime does not support the
-	 * specification of a working directory, the status handler for error code
-	 * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the
-	 * exec should be re-executed without specifying a working directory.
-	 * 
-	 * @param cmdLine the command line
-	 * @param workingDirectory the working directory, or <code>null</code>
-	 * @return the resulting process or <code>null</code> if the exec is
-	 *  cancelled
-	 * @see Runtime
-	 * 
-	 * @since 2.1
-	 */
-	public static Process exec(String[] cmdLine, File workingDirectory) throws CoreException {
-		return exec(cmdLine, workingDirectory, null);
-	}
-
-	/**
-	 * Convenience method that performs a runtime exec on the given command line
-	 * in the context of the specified working directory, and returns the
-	 * resulting process. If the current runtime does not support the
-	 * specification of a working directory, the status handler for error code
-	 * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the
-	 * exec should be re-executed without specifying a working directory.
-	 * 
-	 * @param cmdLine the command line
-	 * @param workingDirectory the working directory, or <code>null</code>
-	 * @param envp the environment variables set in the process, or <code>null</code>
-	 * @return the resulting process or <code>null</code> if the exec is
-	 *  cancelled
-	 * @see Runtime
-	 * 
-	 * @since 3.0
-	 */
-	public static Process exec(String[] cmdLine, File workingDirectory, String[] envp) throws CoreException {
-		Process p= null;
-		try {
-
-			if (workingDirectory == null) {
-				p= Runtime.getRuntime().exec(cmdLine, envp);
-			} else {
-				p= Runtime.getRuntime().exec(cmdLine, envp, workingDirectory);
-			}
-		} catch (IOException e) {
-				if (p != null) {
-					p.destroy();
-				}
-				Status status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.DebugPlugin_Exception_occurred_executing_command_line__1, e); //$NON-NLS-1$
-				throw new CoreException(status);
-		} catch (NoSuchMethodError e) {
-			//attempting launches on 1.2.* - no ability to set working directory			
-			IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERR_WORKING_DIRECTORY_NOT_SUPPORTED, DebugCoreMessages.DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2, e); //$NON-NLS-1$
-			IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-			
-			if (handler != null) {
-				Object result = handler.handleStatus(status, null);
-				if (result instanceof Boolean && ((Boolean)result).booleanValue()) {
-					p= exec(cmdLine, null);
-				}
-			}
-		}
-		return p;
-	}	
-	
-	/**
-	 * Returns whether this plug-in is in the process of 
-	 * being shutdown.
-	 * 
-	 * @return whether this plug-in is in the process of 
-	 *  being shutdown
-	 */
-	private boolean isShuttingDown() {
-		return fShuttingDown;
-	}
-	
-	/**
-	 * Sets whether this plug-in is in the process of 
-	 * being shutdown.
-	 * 
-	 * @param value whether this plug-in is in the process of 
-	 *  being shutdown
-	 */
-	private void setShuttingDown(boolean value) {
-		fShuttingDown = value;
-	}
-	
-	/**
-	 * Returns the collection of debug event listeners registered
-	 * with this plug-in.
-	 * 
-	 * @return list of registered debug event listeners, instances
-	 *  of <code>IDebugEventSetListeners</code>
-	 */
-	private Object[] getEventListeners() {
-		return fEventListeners.getListeners();
-	}
-	
-	/**
-	 * Adds the given debug event filter to the registered
-	 * event filters. Has no effect if an identical filter
-	 * is already registerd.
-	 * 
-	 * @param filter debug event filter
-	 * @since 2.0
-	 */
-	public void addDebugEventFilter(IDebugEventFilter filter) {
-		if (fEventFilters == null) {
-			fEventFilters = new ListenerList(2);
-		}
-		fEventFilters.add(filter);
-	}
-	
-	/**
-	 * Removes the given debug event filter from the registered
-	 * event filters. Has no effect if an identical filter
-	 * is not already registered.
-	 * 
-	 * @param filter debug event filter
-	 * @since 2.0
-	 */
-	public void removeDebugEventFilter(IDebugEventFilter filter) {
-		if (fEventFilters != null) {
-			fEventFilters.remove(filter);
-			if (fEventFilters.size() == 0) {
-				fEventFilters = null;
-			}
-		}
-	}	
-	
-	/**
-	 * Logs the given message if in debug mode.
-	 * 
-	 * @param message the message to log
-	 * @since 2.0
-	 */
-	public static void logDebugMessage(String message) {
-		if (getDefault().isDebugging()) {
-			// this message is intentionally not internationalized, as an exception may
-			// be due to the resource bundle itself
-			log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Internal message logged from Debug Core: " + message, null)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 * @since 2.0
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 * @since 2.0
-	 */
-	public static void log(Throwable t) {
-		IStatus status= new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Error logged from Debug Core: ", t); //$NON-NLS-1$
-		log(status);
-	}
-	
-	/**
-	 * Register status handlers.
-	 * 
-	 */
-	private void initializeStatusHandlers() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_STATUS_HANDLERS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fStatusHandlers = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("plugin"); //$NON-NLS-1$
-			String code = configurationElement.getAttribute("code"); //$NON-NLS-1$
-			
-			if (id != null && code != null) {
-				try {
-					StatusHandlerKey key = new StatusHandlerKey(id, Integer.parseInt(code));
-					fStatusHandlers.put(key, configurationElement);
-				} catch (NumberFormatException e) {
-					// invalid status handler
-					invalidStatusHandler(e, configurationElement.getAttribute("id")); //$NON-NLS-1$
-				}
-			} else {
-				// invalid status handler
-				invalidStatusHandler(null, configurationElement.getAttribute("id")); //$NON-NLS-1$
-			}
-		}			
-	}
-	
-	/**
-	 * Register process factories.
-	 * 
-	 */
-	private void initializeProcessFactories() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_PROCESS_FACTORIES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fProcessFactories = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("id"); //$NON-NLS-1$
-			String clss = configurationElement.getAttribute("class"); //$NON-NLS-1$
-			if (id != null && clss != null) {
-					fProcessFactories.put(id, configurationElement);
-			} else {
-				// invalid process factory
-				String badDefiner= infos[i].getNamespace();
-				log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.DebugPlugin_31, new String[] {badDefiner, id}), null)); //$NON-NLS-1$
-			}
-		}			
-	}
-	
-	private void invalidStatusHandler(Exception e, String id) {
-		log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.DebugPlugin_Invalid_status_handler_extension___0__2, new String[] {id}), e)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Key for status handler extensions - a plug-in identifier/code pair
-	 */
-	class StatusHandlerKey {
-		
-		String fPluginId;
-		int fCode;
-		
-		StatusHandlerKey(String pluginId, int code) {
-			fPluginId = pluginId;
-			fCode = code;
-		}
-		
-		public int hashCode() {
-			return fPluginId.hashCode() + fCode;
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj instanceof StatusHandlerKey) {
-				StatusHandlerKey s = (StatusHandlerKey)obj;
-				return fCode == s.fCode && fPluginId.equals(s.fPluginId);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * Returns whether any event filters are registered
-	 * 
-	 * @return whether any event filters are registered
-	 */
-	private boolean hasEventFilters() {
-		return fEventFilters != null && fEventFilters.size() > 0;
-	}
-	
-	/**
-	 * Sets whether debug events are being dispatched 
-	 */
-	private synchronized void setDispatching(boolean dispatching) {
-		if (dispatching) {
-			fDispatching++;
-		} else {
-			fDispatching--;
-		}
-		if (!isDispatching()) {
-			if (fAsynchJob != null) {
-				fAsynchJob.schedule();
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether debug events are being dispatched
-	 */
-	private synchronized boolean isDispatching() {
-		return fDispatching > 0;
-	}	
-	
-	/**
-	 * Executes runnables after event dispatch is complete.
-	 * 
-	 * @since 3.0
-	 */
-	class AsynchJob extends Job {
-		
-		public AsynchJob() {
-			super(DebugCoreMessages.DebugPlugin_Debug_async_queue_1); //$NON-NLS-1$
-			setPriority(Job.INTERACTIVE);
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-		 */
-		public boolean shouldRun() {
-			return !fShuttingDown && !fRunnables.isEmpty();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus run(IProgressMonitor monitor) {
-			// Executes runnables and empties the queue
-			Vector v = null;
-			synchronized (fRunnableLock) {
-				v = fRunnables;
-				fRunnables = new Vector(5);
-			}
-			MultiStatus failed = null;
-			monitor.beginTask(DebugCoreMessages.DebugPlugin_Debug_async_queue_1, v.size()); //$NON-NLS-1$
-			Iterator iter = v.iterator();
-			while (iter.hasNext() && !fShuttingDown && !monitor.isCanceled()) {
-				Runnable r = (Runnable)iter.next();
-				try {
-					r.run();
-				} catch (Exception e) {
-					if (failed == null) {
-						failed = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.DebugPlugin_0, null); //$NON-NLS-1$
-					}
-					failed.add(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.DebugPlugin_0, e)); //$NON-NLS-1$
-				}
-				monitor.worked(1);
-			}
-			monitor.done();
-			if (failed == null) {
-				return Status.OK_STATUS;
-			}
-			return failed;
-		}
-
-	}
-	
-	/**
-	 * Filters and dispatches events in a safe runnable to handle any
-	 * exceptions.
-	 */
-	class EventNotifier implements ISafeRunnable {
-		
-		private DebugEvent[] fEvents;
-		private IDebugEventSetListener fListener;
-		private IDebugEventFilter fFilter;
-		private int fMode;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			switch (fMode) {
-				case NOTIFY_FILTERS:
-					IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.DebugPlugin_An_exception_occurred_while_filtering_debug_events__3, exception); //$NON-NLS-1$
-					log(status);
-					break;
-				case NOTIFY_EVENTS:				
-					status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.DebugPlugin_An_exception_occurred_while_dispatching_debug_events__2, exception); //$NON-NLS-1$
-					log(status);
-					break;
-			}
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fMode) {
-				case NOTIFY_FILTERS:
-					fEvents = fFilter.filterDebugEvents(fEvents);
-					break;
-				case NOTIFY_EVENTS:
-					fListener.handleDebugEvents(fEvents);
-					break;
-			}
-		}
-		
-		/**
-		 * Filter and dispatch the given events. If an exception occurs in one
-		 * listener, events are still fired to subsequent listeners.
-		 * 
-		 * @param events debug events
-		 */
-		public void dispatch(DebugEvent[] events) {
-			fEvents = events;
-			try {
-				setDispatching(true);
-				
-				if (hasEventFilters()) {
-					fMode = NOTIFY_FILTERS;
-					Object[] filters = fEventFilters.getListeners();
-					for (int i = 0; i < filters.length; i++) {
-						fFilter = (IDebugEventFilter)filters[i];
-						Platform.run(this);
-						if (fEvents == null || fEvents.length == 0) {
-							return;
-						}
-					}	
-				}				
-				
-				fMode = NOTIFY_EVENTS;
-				Object[] listeners= getEventListeners();
-				for (int i= 0; i < listeners.length; i++) {
-					fListener = (IDebugEventSetListener)listeners[i]; 
-					Platform.run(this);
-				}
-				
-			} finally {
-				setDispatching(false);
-			}
-			fEvents = null;
-			fFilter = null;
-			fListener = null;			
-		}
-
-	}
-
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 * @since 3.0
-	 */
-	public static Document newDocument()throws CoreException {
-		try {
-			return LaunchManager.getDocument();
-		} catch (ParserConfigurationException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_3, e); //$NON-NLS-1$
-		}		
-		return null;
-	}	
-	
-	/**
-	 * Serializes the given XML document into a string.
-	 * 
-	 * @param document XML document to serialize
-	 * @return a string representing the given document
-	 * @throws CoreException if unable to serialize the document
-	 * @since 3.0
-	 */
-	public static String serializeDocument(Document document) throws CoreException {
-		try {
-			return LaunchManager.serializeDocument(document);
-		} catch (TransformerException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_4, e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_5, e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Parses the given string representing an XML document, returning its
-	 * root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 * @since 3.0
-	 */
-	public static Element parseDocument(String document) throws CoreException {
-		Element root = null;
-		InputStream stream = null;
-		try{		
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			stream = new ByteArrayInputStream(document.getBytes());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (ParserConfigurationException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_6, e); //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			abort(SourceLookupMessages.SourceLookupUtils_7, e); //$NON-NLS-1$
-		} catch (SAXException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_8, e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort(SourceLookupMessages.SourceLookupUtils_9, e); //$NON-NLS-1$
-		} finally { 
-			try{
-				stream.close();
-			} catch(IOException e) {
-				abort(SourceLookupMessages.SourceLookupUtils_10, e); //$NON-NLS-1$
-			}
-		}		
-		return root;
-	}	
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Utility class to parse command line arguments.
-	 * 
-	 * @since 3.1
-	 */
-	private static class ArgumentParser {
-		private String fArgs;
-		private int fIndex= 0;
-		private int ch= -1;
-		
-		public ArgumentParser(String args) {
-			fArgs= args;
-		}
-		
-		public String[] parseArguments() {
-			List v= new ArrayList();
-			
-			ch= getNext();
-			while (ch > 0) {
-				if (Character.isWhitespace((char)ch)) {
-					ch= getNext();	
-				} else {
-					if (ch == '"') {
-					    StringBuffer buf = new StringBuffer();
-					    if (Platform.getOS().equals(Constants.OS_WIN32)) {
-					    	buf.append('"');
-					    }
-						buf.append(parseString());
-						if (Platform.getOS().equals(Constants.OS_WIN32)) {
-							buf.append('"');
-						} else if (buf.length() == 0) {
-							// empty string on non-windows platform
-							buf.append("\"\""); //$NON-NLS-1$
-						}
-						v.add(buf.toString());
-					} else {
-						v.add(parseToken());
-					}
-				}
-			}
-	
-			String[] result= new String[v.size()];
-			v.toArray(result);
-			return result;
-		}
-		
-		private int getNext() {
-			if (fIndex < fArgs.length())
-				return fArgs.charAt(fIndex++);
-			return -1;
-		}
-		
-		private String parseString() {
-			ch= getNext();
-			if (ch == '"') {
-				ch= getNext();
-				return ""; //$NON-NLS-1$
-			}
-			StringBuffer buf= new StringBuffer();
-			while (ch > 0 && ch != '"') {
-				if (ch == '\\') {
-					ch= getNext();
-					if (ch != '"') {           // Only escape double quotes
-						buf.append('\\');
-					} else {
-						if (Platform.getOS().equals(Constants.OS_WIN32)) {
-							// @see Bug 26870. Windows requires an extra escape for embedded strings
-							buf.append('\\');
-						}
-					}
-				}
-				if (ch > 0) {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			ch= getNext();
-			return buf.toString();
-		}
-		
-		private String parseToken() {
-			StringBuffer buf= new StringBuffer();
-			
-			while (ch > 0 && !Character.isWhitespace((char)ch)) {
-				if (ch == '\\') {
-					ch= getNext();
-					if (Character.isWhitespace((char)ch)) {
-						// end of token, don't lose trailing backslash
-						buf.append('\\');
-						return buf.toString();
-					}
-					if (ch > 0) {
-						if (ch != '"') {           // Only escape double quotes
-							buf.append('\\');
-						} else {
-							if (Platform.getOS().equals(Constants.OS_WIN32)) {
-								// @see Bug 26870. Windows requires an extra escape for embedded strings
-								buf.append('\\');
-							}
-						}
-						buf.append((char)ch);
-						ch= getNext();
-					} else if (ch == -1) {     // Don't lose a trailing backslash
-						buf.append('\\');
-					}
-				} else if (ch == '"') {
-					buf.append(parseString());
-				} else {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			return buf.toString();
-		}
-	}
-	
-	/**
-	 * Prarses the given command line into seperate arguments that can be passed to
-	 * <code>DebugPlugin.exec(String[], File)</code>. Embedded quotes and slashes
-	 * are escaped.
-	 * 
-	 * @param args command line arguments as a single string
-	 * @return individual arguments
-	 * @since 3.1
-	 */
-	public static String[] parseArguments(String args) {
-		if (args == null)
-			return new String[0];
-		ArgumentParser parser= new ArgumentParser(args);
-		String[] res= parser.parseArguments();
-		
-		return res;
-	}	
-	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
deleted file mode 100644
index b6bd882..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * A breakpoint listener is notified of breakpoint additions,
- * removals, and changes. Listeners register and deregister with the
- * breakpoint manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IBreakpointManager
- */
-
-public interface IBreakpointListener {
-
-	/**
-	 * Notifies this listener that the given breakpoint has been added
-	 * to the breakpoint manager.
-	 *
-	 * @param breakpoint the added breakpoint
-	 * @since 2.0
-	 */
-	public void breakpointAdded(IBreakpoint breakpoint);
-	/**
-	 * Notifies this listener that the given breakpoint has been removed
-	 * from the breakpoint manager.
-	 * If the given breakpoint has been removed because it has been deleted,
-	 * the associated marker delta is also provided.
-	 *
-	 * @param breakpoint the removed breakpoint
-	 * @param delta the associated marker delta, or  <code>null</code> when
-	 * 	the breakpoint is removed from the breakpoint manager without
-	 *	being deleted
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 * @since 2.0
-	 */
-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta);
-	
-	/**
-	 * Notifies this listener that an attribute of the given breakpoint has
-	 * changed, as described by the delta.
-	 *
-	 * @param breakpoint the changed breakpoint
-	 * @param delta the marker delta that describes the changes
-	 *  with the marker associated with the given breakpoint, or
-	 *  <code>null</code> when the breakpoint change does not generate
-	 *  a marker delta
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 * @since 2.0
-	 */
-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
deleted file mode 100644
index 0455479..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * The breakpoint manager manages the collection of breakpoints
- * in the workspace. A breakpoint suspends the execution of a
- * program being debugged. The kinds of breakpoints supported by each
- * debug architecture and the information required to create those
- * breakpoints is defined by each debug architecture.
- * Breakpoint creation is a client responsibility.
- * <p>
- * Clients interested in breakpoint change notification may
- * register with the breakpoint manager - see
- * <code>IBreakpointListener</code> and <code>IBreakpointsListener</code>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.IBreakpointListener
- * @see org.eclipse.debug.core.IBreakpointsListener
- */
-public interface IBreakpointManager {
-	/**
-	 * Adds the given breakpoint to the collection of registered breakpoints
-	 * in the workspace and notifies all registered listeners. This has no effect
-	 * if the given breakpoint is already registered.
-	 *
-	 * @param breakpoint the breakpoint to add
-	 *
-	 * @exception DebugException if adding fails. Reasons include:<ul>
-	 * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute
-	 * 	is not set on the breakpoint marker.</li>
-	 * <li>A <code>CoreException</code> occurred while verifying the <code>MODEL_IDENTIFIER</code>
-	 *	attribute.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException;
-	
-	/**
-	 * Adds the given breakpoints to the collection of registered breakpoints
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on breakpoints that are already registered.
-	 *
-	 * @param breakpoints the breakpoints to add
-	 *
-	 * @exception DebugException if adding fails. Reasons include:<ul>
-	 * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute
-	 * 	is not set on a breakpoint marker.</li>
-	 * <li>A <code>CoreException</code> occurred while verifying a <code>MODEL_IDENTIFIER</code>
-	 *	attribute.</li>
-	 * </ul>
-	 * @since 2.1
-	 */
-	public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException;	
-	
-	/**
-	 * Returns the breakpoint associated with the given marker or
-	 * <code>null</code> if no such breakpoint exists
-	 * 
-	 * @param marker the marker
-	 * @return the breakpoint associated with the marker
-	 * 	or <code>null</code> if none exists
-	 * @since 2.0
-	 */
-	public IBreakpoint getBreakpoint(IMarker marker);	
-	
-	/**
-	 * Returns a collection of all registered breakpoints.
-	 * Returns an empty array if no breakpoints are registered.
-	 *
-	 * @return an array of breakpoints
-	 * @since 2.0
-	 */
-	public IBreakpoint[] getBreakpoints();
-	
-	/**
-	 * Returns whether there are any registered breakpoints.
-	 * 
-	 * @return whether there are any registered breakpoints
-	 * @since 2.0
-	 */
-	public boolean hasBreakpoints();
-	
-	/**
-	 * Returns a collection of all breakpoints registered for the
-	 * given debug model. Answers an empty array if no breakpoints are registered
-	 * for the given debug model.
-	 *
-	 * @param modelIdentifier identifier of a debug model plug-in
-	 * @return an array of breakpoints
-	 * @since 2.0
-	 */
-	public IBreakpoint[] getBreakpoints(String modelIdentifier);
-		
-	/**
-	 * Returns whether the given breakpoint is currently
-	 * registered with this breakpoint manager.
-	 *
-	 * @return whether the breakpoint is registered
-	 * @since 2.0
-	 */
-	public boolean isRegistered(IBreakpoint breakpoint);
-	
-	/**
-	 * Notifies all registered listeners that the given
-	 * breakpoint has changed. Has no effect if the given
-	 * breakpoint is not currently registered.
-	 * 
-	 * This method is intended to be used when a breakpoint
-	 * attribute is changed that does not alter the breakpoint's
-	 * underlying marker, that is, when notification will not occur
-	 * via the marker delta mechanism.
-	 * 
-	 * @param breakpoint the breakpoint that has changed.
-	 * @since 2.0
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint);
-	
-	/**
-	 * Removes the given breakpoint from the breakpoint manager, deletes
-	 * the marker associated with the breakpoint if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect if the given breakpoint is not currently
-	 * registered.
-	 *
-	 * @param breakpoint the breakpoint to remove
-	 * @param delete whether to delete the marker associated with the
-	 *  breakpoint
-	 * @exception CoreException if an exception occurs while deleting the
-	 * 	underlying marker.
-	 * @since 2.0
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException;
-	
-	/**
-	 * Removes the given breakpoints from the breakpoint manager, deletes
-	 * the markers associated with the breakpoints if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect on breakpoints not currently
-	 * registered.
-	 *
-	 * @param breakpoints the breakpoints to remove
-	 * @param delete whether to delete the markers associated with the
-	 *  breakpoints
-	 * @exception CoreException if an exception occurs while deleting an
-	 * 	underlying marker.
-	 * @since 2.1
-	 */
-	public void removeBreakpoints(IBreakpoint[] breakpoints, boolean delete) throws CoreException;	
-
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addBreakpointListener(IBreakpointListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered breakpoint manager
-	 * listeners. Has no effect if an identical listener is already registered.
-	 * 
-	 * @param listener the listener to add
-	 * @since 3.0
-	 */
-	public void addBreakpointManagerListener(IBreakpointManagerListener listener);
-	
-	/**
-	 * Removes the given listener from the collection of registered breakpoint manager
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener the listener to remove
-	 * @since 3.0
-	 */
-	public void removeBreakpointManagerListener(IBreakpointManagerListener listener);
-	
-	/**
-	 * Returns whether or not this breakpoint manager is enabled.
-	 * When a breakpoint manager is enabled, all breakpoints
-	 * should be honored. When it is disabled, breakpoints should
-	 * not be honored, regardless of each breakpoint's enabled state.
-	 * 
-	 * @return whether or not this breakpoint manager is enabled
-	 * @since 3.0
-	 */
-	public boolean isEnabled();
-	
-	/**
-	 * Sets the enabled state of this breakpoint manager. When
-	 * enabled, breakpoints should be honored. When disabled, all
-	 * breakpoints should be ignored.
-	 * 
-	 * @param enabled whether this breakpoint manager should be
-	 *  enabled
-	 * @since 3.0
-	 */
-	public void setEnabled(boolean enabled);
-
-    /**
-     * Returns the name (user presentable String) of the given
-     * breakpoint's type or <code>null</code> if none has been
-     * specified.
-     * 
-     * @param breakpoint the breakpoint
-     * @return the name of the given breakpoint's type or <code>null</code>
-     * @since 3.1
-     */
-    public String getTypeName(IBreakpoint breakpoint);
-	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
deleted file mode 100644
index 7047e3f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A breakpoint manager listener is notified when the breakpoint manager's
- * enablement changes. When the breakpoint manager is disabled, no breakpoints
- * should be honored. When the breakpoint manager is enabled, breakpoints should
- * be honored as usual.
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @see IBreakpointManager
- * @since 3.0
- */
-public interface IBreakpointManagerListener {
-	
-	/**
-	 * Notifies the listener that the breakpoint manager's enablement
-	 * has changed.
-	 * 
-	 * @param enabled whether or not the breakpoint manager is enabled
-	 */
-	public void breakpointManagerEnablementChanged(boolean enabled);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
deleted file mode 100644
index f4102bb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * A breakpoints listener is notified of breakpoint additions,
- * removals, and changes. Listeners register and deregister with the
- * breakpoint manager.
- * <p>
- * This interface is analagous to <code>IBreakpointListener</code> except
- * notifications are batched for more than one breakpoint when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IBreakpointManager
- * @since 2.1
- */
-
-public interface IBreakpointsListener {
-
-	/**
-	 * Notifies this listener that the given breakpoints have been added
-	 * to the breakpoint manager.
-	 *
-	 * @param breakpoints the added breakpoints
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints);
-	/**
-	 * Notifies this listener that the given breakpoints have been removed
-	 * from the breakpoint manager.
-	 * If a breakpoint has been removed because it has been deleted,
-	 * the associated marker delta is also provided.
-	 *
-	 * @param breakpoints the removed breakpoints
-	 * @param deltas the associated marker deltas. Entries may be
-	 *  <code>null</code> when a breakpoint is removed from the breakpoint
-	 *  manager without being deleted
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas);
-	
-	/**
-	 * Notifies this listener that the given breakpoints have
-	 * changed, as described by the corresponding deltas.
-	 *
-	 * @param breakpoints the changed breakpoints
-	 * @param deltas the marker deltas that describe the changes
-	 *  with the markers associated with the given breakpoints. Entries
-	 *  may be <code>null</code> when a breakpoint change does not generate
-	 *  a marker delta
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
deleted file mode 100644
index 94c815a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * An event filter allows clients to intercept debug events.
- * Event filters are registered with the debug plug-in.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin
- * @since 2.0
- */
-public interface IDebugEventFilter {
-
-	/**
-	 * Filters the given set of debug events, and returns the set of debug
-	 * events that should be fired to registered listeners - <code>null</code>
-	 * or an empty collection if no debug events should be fired.
-	 * <p>
-	 * When multiple event filters are registered, events are passed through
-	 * all filters. That is, the events returned from the first filter are
-	 * passed through the second filter, and so on.
-	 * </p>
-	 * 
-	 * @return  the set of debug events to fire
-	 */
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
deleted file mode 100644
index 683270b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A debug event set listener registers with the debug plug-in
- * to receive event notification from programs being run or debugged.
- * <p>
- * When more than one event is reported, each event has occurred at the
- * same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completes. In 
- * this case the breakpoint event and step end event are reported together
- * in the same event set.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugEvent
- * @since 2.0
- */
-public interface IDebugEventSetListener {
-	/**
-	 * Notifies this listener of the given debug events.
-	 * All of the events in the given event collection occurred
-	 * at the same location the program be run or debugged.
-	 *
-	 * @param events the debug events
-	 */
-	public void handleDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
deleted file mode 100644
index f8a1d87..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and deregister with the
- * expression manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IExpressionManager
- * @since 2.0
- */
-
-public interface IExpressionListener {
-
-	/**
-	 * Notifies this listener that the given expression has been added
-	 * to the expression manager.
-	 *
-	 * @param expression the added expression
-	 */
-	public void expressionAdded(IExpression expression);
-	/**
-	 * Notifies this listener that the given expression has been removed
-	 * from the expression manager.
-	 *
-	 * @param expression the removed expression
-	 */
-	public void expressionRemoved(IExpression expression);
-	
-	/**
-	 * Notifies this listener that the given expression has
-	 * changed.
-	 *
-	 * @param expression the changed expression
-	 */
-	public void expressionChanged(IExpression expression);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
deleted file mode 100644
index 918f3b5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-
-/**
- * The expression manager manages the collection of registered
- * expressions in the workspace. An expression is a snippet of code
- * that can be evaluated to produce a value. Expression creation
- * and evaluation are client responsibilities.
- * <p>
- * Clients interested in expression change notification may
- * register with the expression manager - see
- * <code>IExpressionListener</code> and <code>IExpressionsListener</code>.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.model.IExpression
- * @see org.eclipse.debug.core.IExpressionListener
- * @see org.eclipse.debug.core.IExpressionsListener
- * @since 2.0
- */
-public interface IExpressionManager {
-	/**
-	 * Adds the given expression to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. This has no effect
-	 * if the given expression is already registered.
-	 *
-	 * @param expression the expression to add
-	 */
-	public void addExpression(IExpression expression);
-	
-	/**
-	 * Adds the given expressions to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions already registered.
-	 *
-	 * @param expressions the expressions to add
-	 * @since 2.1
-	 */
-	public void addExpressions(IExpression[] expressions);
-	
-	/**
-	 * Creates and returns a new watch expression with the
-	 * given text. The returned expression is <b>not</b> added to
-	 * this manager.
-	 * 
-	 * @param expressionText the text for the new expression
-	 * @since 3.0
-	 */
-	public IWatchExpression newWatchExpression(String expressionText);
-		
-	/**
-	 * Returns a collection of all registered expressions, 
-	 * possibly empty.
-	 *
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions();
-	
-	/**
-	 * Returns whether there are any registered expressions
-	 * 
-	 * @return whether there are any registered expressions
-	 */
-	public boolean hasExpressions();
-	
-	/**
-	 * Returns a collection of all expressions registered for the
-	 * given debug model,possibly empty.
-	 *
-	 * @param modelIdentifier identifier of a debug model plug-in
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions(String modelIdentifier);
-		
-	/**
-	 * Removes the given expression from the expression manager,
-	 * and notifies all registered listeners. Has no effect if the
-	 * given expression is not currently registered.
-	 *
-	 * @param expression the expression to remove
-	 */
-	public void removeExpression(IExpression expression);
-	
-	/**
-	 * Removes the given expressions from the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions not already registered.
-	 *
-	 * @param expressions the expressions to remove
-	 * @since 2.1
-	 */
-	public void removeExpressions(IExpression[] expressions);		
-
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addExpressionListener(IExpressionListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeExpressionListener(IExpressionListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addExpressionListener(IExpressionsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeExpressionListener(IExpressionsListener listener);
-	
-	/**
-	 * Returns a new watch expression delegate for the given debug
-	 * model or <code>null</code> if no delegate is available.
-	 * 
-	 * @param id the unique identifier of a debug model for which a
-	 *  watch expression delegate has been contributed
-	 * @return a watch expression delegate associated with the given model
-	 * 		or <code>null</code> if none
-	 * @since 3.0
-	 * @see IWatchExpressionDelegate
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String id);
-    
-    /**
-     * Returns whether a watch expression delegate has been contributed for
-     * the given debug model.
-     * 
-     * @param id the unique identifier of a debug model
-     * @return whether a watch expression delegate has been contributed for
-     *    the given debug model
-     * @since 3.1
-     * @see IWatchExpressionDelegate
-     */    
-    public boolean hasWatchExpressionDelegate(String id);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
deleted file mode 100644
index c89e9a4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and deregister with the
- * expression manager.
- * <p>
- * This interface is analagous to <code>IExpressionListener</code>, except
- * notifications are batched for more than when expression when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IExpressionManager
- * @since 2.1
- */
-
-public interface IExpressionsListener {
-
-	/**
-	 * Notifies this listener that the given expressions have been added
-	 * to the expression manager.
-	 *
-	 * @param expressions the added expressions
-	 */
-	public void expressionsAdded(IExpression[] expressions);
-	/**
-	 * Notifies this listener that the given expressions has been removed
-	 * from the expression manager.
-	 *
-	 * @param expressions the removed expressions
-	 */
-	public void expressionsRemoved(IExpression[] expressions);
-	
-	/**
-	 * Notifies this listener that the given expressions have
-	 * changed.
-	 *
-	 * @param expressions the changed expressions
-	 */
-	public void expressionsChanged(IExpression[] expressions);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
deleted file mode 100644
index fe0e3b8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * should create instances of this interface by using the implementation
- * provided by the class <code>Launch</code>.
- * </p>
- * @see Launch
- * @see org.eclipse.debug.core.IProcessFactory
- */
-public interface ILaunch extends ITerminate, IAdaptable {
-	/**
-	 * Returns the children of this launch - a collection
-	 * of one or more debug targets and processes, possibly empty.
-	 *
-	 * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>),
-	 * 	or an empty array
-	 */
-	public Object[] getChildren();
-	/**
-	 * Returns the primary (first) debug target associated with this launch, or <code>null</code>
-	 * if no debug target is associated with this launch. All debug targets 
-	 * associated with this launch may be retrieved by
-	 * <code>getDebugTargets()</code>.
-	 *
-	 * @return the primary debug target associated with this launch, or <code>null</code>
-	 */
-	public IDebugTarget getDebugTarget();
-
-	/**
-	 * Returns the processes that were launched,
-	 * or an empty collection if no processes were launched.
-	 *
-	 * @return array of processes
-	 */
-	public IProcess[] getProcesses();
-	
-	/**
-	 * Returns all the debug targets associated with this launch,
-	 * or an empty collection if no debug targets are associated
-	 * with this launch. The primary debug target is the first
-	 * in the collection (if any).
-	 *
-	 * @return array of debug targets
-	 * @since 2.0
-	 */
-	public IDebugTarget[] getDebugTargets();
-	
-	/**
-	 * Adds the given debug target to this launch. Has no effect
-	 * if the given debug target is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to add to this launch
-	 * @since 2.0
-	 */
-	public void addDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Removes the given debug target from this launch. Has no effect
-	 * if the given debug target is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Adds the given process to this launch. Has no effect
-	 * if the given process is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to add to this launch
-	 * @since 2.0
-	 */
-	public void addProcess(IProcess process);		
-	
-	/**
-	 * Removes the given process from this launch. Has no effect
-	 * if the given process is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeProcess(IProcess process);			
-		
-	/**
-	 * Returns the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @return the source locator
-	 */
-	public ISourceLocator getSourceLocator();
-	
-	/**
-	 * Sets the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @param sourceLocator source locator or <code>null</code>
-	 * @since 2.0
-	 */
-	public void setSourceLocator(ISourceLocator sourceLocator);
-		
-	/**
-	 * Returns the mode of this launch - one of the mode constants defined by
-	 * the launch manager.
-	 *
-	 * @return the launch mode
-	 * @see ILaunchManager
-	 */
-	public String getLaunchMode();
-	
-	/**
-	 * Returns the configuration that was launched, or <code>null</code>
-	 * if no configuration was launched.
-	 * 
-	 * @return the launched configuration or <code>null</code>
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Sets the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @param value the attribute value
-	 * @since 2.0
-	 */
-	public void setAttribute(String key, String value);
-	
-	/**
-	 * Returns the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @return value the attribute value, or <code>null</code> if undefined
-	 * @since 2.0
-	 */
-	public String getAttribute(String key);	
-	
-	/**
-	 * Returns whether this launch contains at least one process
-	 * or debug target.
-	 * 
-	 * @return whether this launch contains at least one process
-	 * or debug target
-	 * @since 2.0
-	 */
-	public boolean hasChildren();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
deleted file mode 100644
index 0c521fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * A launch configuration describes how to launch an application.
- * Each launch configuration is an instance of a type of launch
- * configuration as described by a launch configuration type 
- * extension. Each launch configuration has a launch configuration
- * delegate which performs the actual launching of a
- * configuration.
- * <p>
- * A launch configuration may be shared in a repository via
- * standard VCM mechanisms, or may be stored locally, essentially
- * making the launch configuration private for a single user.
- * Thus, a launch configuration may stored as a file in the
- * workspace (shared), or as a file in the debug plug-in's state
- * location.
- * </p>
- * A launch configuration is a handle to its underlying storage.
- * Methods annotated as "handle-only" do not require a configuration
- * to exist. Methods that require an underlying configuration to exist
- * throw a <code>CoreException</code> when an underlying configuration
- * is missing.
- * </p>
- * <p>
- * A launch configuration is modified by obtaining a working copy
- * of a launch configuration, modifying the working copy, and then
- * saving the working copy.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfigurationType
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
- * @see ILaunchConfigurationWorkingCopy
- * @since 2.0
- */
-public interface ILaunchConfiguration extends IAdaptable {
-	
-	/**
-	 * The file extension for launch configuration files
-	 * (value <code>"launch"</code>).
-	 */
-	public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing an identifier of
-	 * a persistable source locator extension. When this attribute is
-	 * specified, a new source locator will be created automatically and
-	 * associated with the launch for this configuration.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_ID = DebugPlugin.getUniqueIdentifier() + ".source_locator_id"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing a memento of a 
-	 * source locator. When this attribute is specified in
-	 * conjunction with a source locator id, the source locator
-	 * created for a launch will be initialized with this memento.
-	 * When not specified, but a source locator id is specified,
-	 * the source locator will be initialized to default values.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_MEMENTO = DebugPlugin.getUniqueIdentifier() + ".source_locator_memento"; //$NON-NLS-1$
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * Equivalent to calling <code>launch(String, IProgressMontitor, boolean)</code>
-	 * with a <code>build</code> flag of <code>false</code>.
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancellable progress monitor is provided by the Job
-	 *  framework.
-	 * @return the resulting launch
-	 * @exception CoreException if this method fails. Reasons include:<ul>
-	 * <li>unable to instantiate the underlying launch configuration delegate</li>
-	 * <li>the launch fails (in the delegate)</code>
-	 * </ul>
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * If this configuration's launch delegate implements
-	 * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will
-	 * be consulted to provide a launch object for the launch,
-	 * perform pre-launch checks, and build before the launch.
-	 * If <code>build</code> is <code>true</code> and the associated launch
-	 * delegate does not implement <code>ILaunchConfigurationDelegate2</code>
-	 * an incremental workspace build will be performed before the launch
-	 * by the debug platform.
-	 * </p>
-	 * <p>
-	 * The resulting launch object is registered with the launch manager
-	 * before passing it to this configuration's delegate launch method, for
-	 * contributions (debug targets and processes).
-	 * </p>
-	 * <p>
-	 * If the delegate contributes a source locator to the launch, that
-	 * source locator is used. Otherwise an appropriate source locator is
-	 * contributed to the launch  based on the values of
-	 * <code>ATTR_SOURCE_LOCATOR_ID</code> and
-	 * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is cancelled (via
-	 * the given progress monitor), the launch is removed from the launch
-	 * manager. The launch is returned whether cancelled or not. Invoking this
-	 * method causes the underlying launch configuration delegate to be
-	 * instantiated (if not already).
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancellable progress monitor is provided by the Job
-	 *  framework.
-	 * @param build whether the workspace should be built before the launch
-	 * @return resulting launch
-	 * @throws CoreException if an exception occurrs during the launch sequence
-	 * @since 3.0
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException;
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * If this configuration's launch delegate implements
-	 * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will
-	 * be consulted to provide a launch object for the launch,
-	 * perform pre-launch checks, and build before the launch.
-	 * If <code>build</code> is <code>true</code> and the associated launch
-	 * delegate does not implement <code>ILaunchConfigurationDelegate2</code>
-	 * an incremental workspace build will be performed before the launch
-	 * by the debug platform.
-	 * </p>
-	 * <p>
-	 * When <code>register</code> is <code>true</code>, the resulting launch object
-	 * is registered with the launch manager before passing it to this configuration's delegate
-	 * launch method, for contributions (debug targets and processes). When
-	 * <code>register</code> is <code>false</code>, the launch is not registered with
-	 * the launch manager. Clients that launch configurations without registering
-	 * a launch should register appropiate debug event filters to intercept events
-	 * from unregistered launches.
-	 * </p>
-	 * <p>
-	 * If the delegate contributes a source locator to the launch, that
-	 * source locator is used. Otherwise an appropriate source locator is
-	 * contributed to the launch  based on the values of
-	 * <code>ATTR_SOURCE_LOCATOR_ID</code> and
-	 * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is cancelled (via
-	 * the given progress monitor), the launch is removed from the launch
-	 * manager. The launch is returned whether cancelled or not. Invoking this
-	 * method causes the underlying launch configuration delegate to be
-	 * instantiated (if not already).
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancellable progress monitor is provided by the Job
-	 *  framework.
-	 * @param build whether the workspace should be built before the launch
-	 * @param register whether to register the resulting launch with the launch manager
-	 * @return resulting launch
-	 * @throws CoreException if an exception occurrs during the launch sequence
-	 * @since 3.1
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException;
-	
-	/**
-	 * Returns whether this launch configuration supports the
-	 * specified mode. This is a handle-only method.
-	 * 
-	 * @param mode a mode in which a configuration can be launched, one of
-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or
-	 *  <code>DEBUG_MODE</code>.
-	 * @return whether this launch configuration supports the
-	 *  specified mode
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve this launch configuration's type.</li>
-	 * </ul>
-	 */
-	public boolean supportsMode(String mode) throws CoreException;
-	
-	/**
-	 * Returns the name of this launch configuration. This is
-	 * a handle-only method.
-	 * 
-	 * @return the name of this launch configuration
-	 */
-	public String getName();
-		
-	/**
-	 * Returns the location of this launch configuration as a
-	 * path. This is a handle-only method.
-	 * 
-	 * @return the location of this launch configuration as a
-	 *  path
-	 */
-	public IPath getLocation();
-	
-	/**
-	 * Returns whether this launch configuration's underlying
-	 * storage exists. This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration's underlying
-	 *  storage exists
-	 */
-	public boolean exists();
-	
-	/**
-	 * Returns the integer-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have an integer value</li>
-	 * </ul>
-	 */
-	public int getAttribute(String attributeName, int defaultValue) throws CoreException;
-	/**
-	 * Returns the string-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a String value</li>
-	 * </ul>
-	 */
-	public String getAttribute(String attributeName, String defaultValue) throws CoreException;
-	/**
-	 * Returns the boolean-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a boolean value</li>
-	 * </ul>
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException;
-	/**
-	 * Returns the <code>java.util.List</code>-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a List value</li>
-	 * </ul>
-	 */
-	public List getAttribute(String attributeName, List defaultValue) throws CoreException;
-	/**
-	 * Returns the <code>java.util.Map</code>-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a Map value</li>
-	 * </ul>
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException;
-		
-	/**
-	 * Returns the file this launch configuration is stored
-	 * in, or <code>null</code> if this configuration is stored
-	 * locally with the workspace. This is a handle-only method.
-	 * 
-	 * @return the file this launch configuration is stored
-	 *  in, or <code>null</code> if this configuration is stored
-	 *  locally with the workspace
-	 */
-	public IFile getFile();
-	
-	/**
-	 * Returns the type of this launch configuration. This is a
-	 * handle-only method.
-	 * 
-	 * @return the type of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationType
-	 */
-	public ILaunchConfigurationType getType() throws CoreException;
-		
-	/**
-	 * Returns whether this launch configuration is stored
-	 * locally with the workspace. This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration is stored
-	 *  locally with the workspace
-	 */
-	public boolean isLocal();
-	
-	/**
-	 * Returns a working copy of this launch configuration.
-	 * Changes to the working copy will be applied to this
-	 * launch configuration when saved. The working copy will
-	 * refer to this launch configuration as its original
-	 * launch configuration.
-	 * 
-	 * @return a working copy of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while initializing the contents of the
-	 * working copy from this configuration's underlying storage.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException;		
-	
-	/**
-	 * Returns a copy of this launch configuration, as a
-	 * working copy, with the specified name. The new
-	 * working copy does not refer back to this configuration
-	 * as its original launch configuration (the working copy
-	 * will return <code>null</code> for <code>getOriginal()</code>).
-	 * When the working copy is saved it will not effect this
-	 * launch configuration.
-	 * 
-	 * @param name the name of the copy
-	 * @return a copy of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while initializing the contents of the
-	 * working copy from this configuration's underlying storage.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException;	
-	
-	/**
-	 * Returns whether this launch configuration is a working
-	 * copy. Launch configurations which return <code>true</code>
-	 * to this method can be safely cast to 
-	 * <code>org.eclipse.debug.core.ILaunchConfigurationWorkingCopy</code>.
-	 * This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration is a working
-	 *  copy
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Deletes this launch configuration. This configuration's underlying
-	 * storage is deleted. Has no effect if this configuration
-	 * does not exist.
-	 * 
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while deleting this configuration's
-	 *  underlying storage.</li>
-	 * </ul>
-	 */
-	public void delete() throws CoreException;
-	
-	/**
-	 * Returns a memento for this launch configuration, or <code>null</code>
-	 * if unable to generate a memento for this configuration. A memento
-	 * can be used to re-create a launch configuration, via the
-	 * launch manager.
-	 * 
-	 * @return a memento for this configuration
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 * @exception CoreException if an exception occurs generating this
-	 *  launch configuration's memento 
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Returns whether the contents of this launch configuration are 
-	 * equal to the contents of the given launch configuration.
-	 * 
-	 * @return whether the contents of this launch configuration are equal to the contents
-	 * of the specified launch configuration.
-	 */
-	public boolean contentsEqual(ILaunchConfiguration configuration);
-	
-	/**
-	 * Returns this launch configuration's type's category, or <code>null</code>
-	 * if unspecified. This is a handle-only method.
-	 * 
-	 * @return this launch configuration's type's category, or <code>null</code>
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @since 2.1
-	 */
-	public String getCategory() throws CoreException;	
-	
-	/**
-	 * Returns a map containing the attributes in this launch configuration.
-	 * Returns an empty map if this configuration has no attributes.
-	 * <p>
-	 * Modifying the map does not affect this launch configuration's attributes.
-	 * A launch configuration is modified by obtaining a working copy of that
-	 * launch configuration, modifying the working copy, and then saving the working
-	 * copy.
-	 * </p>
-	 * @return a map of attribute keys and values
-	 * @exception CoreException unable to generate/retrieve an attribute map
-	 * @since 2.1
-	 */
-	public Map getAttributes() throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
deleted file mode 100644
index 0db5e61..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-/**
- * Notified when a launch configuration is created,
- * deleted, or changed.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @since 2.0
- */
-public interface ILaunchConfigurationListener {
-	
-	/**
-	 * The given launch configuration has been created.
-	 * 
-	 * @param configuration the newly created launch configuration
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has changed in some way.
-	 * The configuration may be a working copy.
-	 * 
-	 * @param configuration the launch configuration that has
-	 *  changed
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has been deleted.
-	 * <p>
-	 * The launch configuration no longer exists. Data stored 
-	 * in the configuration can no longer be accessed, however
-	 * handle-only attributes of the launch configuration
-	 * can be retrieved.
-	 * </p>
-	 * 
-	 * @param configuration the deleted launch configuration
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration);	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
deleted file mode 100644
index 2dff04d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * Describes and creates instances of a specific type of
- * launch configuration. Launch configuration types are
- * defined by extensions.
- * <p>
- * A launch configuration type extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch configuration
- * type extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.launchConfigurationTypes"&gt;
- *   &lt;launchConfigurationType 
- *      id="com.example.ExampleIdentifier"
- *      delegate="com.example.ExampleLaunchConfigurationDelegate"
- *      modes="run, debug"
- *      name="Example Application"&gt;
- *      sourceLocatorId="com.example.SourceLocator"&gt;
- *      sourcePathComputerId="com.example.SourcePathComputer"&gt;
- *   &lt;/launchConfigurationType&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch configuration
- *  type.</li>
- * <li><code>delegate</code> specifies the fully qualified name of the java class
- *   that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration
- *   instances of this type will delegate to instances of this class
- *   to perform launching.</li>
- * <li><code>modes</code> specifies a comma separated list of the modes this
- *    type of launch configuration suports - <code>"run"</code> and/or <code>"debug"</code>.</li>
- * <li><code>name</code> specifies a human readable name for this type
- *    of launch configuration.</li>
- * <li><code>category</code> is an optional attribute that specifies a category
- * for this launch configuration type. Categories are client defined. This
- * attribute was added in the 2.1 release.</li>
- * <li><code>sourceLocatorId</code> an optional unique identifier of a sourceLocator extension that
- * is used to create the source locator for sessions launched using launch configurations
- * of this type. This atttribute was added in the 3.0 release.</li>
- * <li><code>sourcePathComputerId</code> an optional unique identifier of a sourcePathComputer extension
- * that is used to compute a default source lookup path for launch configurations of this type.
- * This atttribute was added in the 3.0 release.</li>
- * </ul>
- * </p>
- * <p>
- * The <code>category</code> attribute has been added in release 2.1, such that other
- * tools may re-use the launch configuration framework for purposes other than
- * the standard running and debugging of programs under developement. Such that
- * clients may access arbitrary attribtes specified in launch configuration type
- * extension definitions, the method <code>getAttribute</code> has also been
- * added. Launch configurations that are to be recognized as standard run/debug
- * launch configurations should not specify the <code>category</code> attribute.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationType extends IAdaptable {
-		
-	/**
-	 * Returns whether this type of launch configuration supports
-	 * the specified mode.
-	 * 
-	 * @param mode a mode in which a configuration can be launched, one of
-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or
-	 *  <code>DEBUG_MODE</code>.
-	 * @return whether this kind of launch configuration supports the
-	 *  specified mode
-	 */
-	public boolean supportsMode(String mode);
-	
-	/**
-	 * Returns the name of this type of launch configuration.
-	 * 
-	 * @return the name of this type of launch configuration
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the unique identifier for this type of launch configuration
-	 * 
-	 * @return the unique identifier for this type of launch configuration
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns whether this launch configuration type is public.  Public configuration
-	 * types are available for use by the user, for example, the user can create new
-	 * configurations based on public types through the UI.  Private types are not
-	 * accessbile in this way, but are still available through the methods on 
-	 * <code>ILaunchManager</code>.
-	 * 
-	 * @return whether this launch configuration type is public.
-	 */
-	public boolean isPublic();
-	
-	/**
-	 * Returns a new launch configuration working copy of this type,
-	 * that resides in the specified container, with the given name.
-	 * When <code>container</code> is </code>null</code>, the configuration
-	 * will reside locally in the metadata area.
-	 * Note: a launch configuration is not actually created until the working copy is saved.
-	 * 
-	 * @param container the container in which the new configuration will
-	 *  reside, or <code>null</code> if the configuration should reside
-	 *  locally with the metadata.
-	 * @param name name for the launch configuration
-	 * @return a new launch configuration working copy instance of this type
-	 * @exception CoreException if an instance of this type
-	 *  of launch configuration could not be created for any
-	 *  reason
-	 */
-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException;
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type, for <code>run</code> mode.
-	 * The first time this method is called, the delegate is instantiated.
-	 * 
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @deprecated use <code>getDelegate(String)</code> to specify mode
-	 */	
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException;
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type, for the specified mode. The first time
-	 * this method is called for a mode, the delegate is instantiated.
-	 * Launch delegates may be contributed to a launch configuration type
-	 * via the extension point <code>org.eclipse.debug.core.launchDelegates</code>
-	 * 
-	 * @param mode launch mode
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @since 3.0
-	 */	
-	public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException;
-	
-	/**
-	 * Returns this launch configuration type's category, or <code>null</code>
-	 * if unspecified. This corresponds to the category attribute specified in
-	 * the extension definition.
-	 * 
-	 * @return this launch configuration type's category, or <code>null</code>
-	 * @since 2.1
-	 */
-	public String getCategory();
-	
-	/**
-	 * Returns the attribute with the given name, as specified by this launch
-	 * configuration type's extension definition, or <code>null</code> if
-	 * unspecified.
-	 * 
-	 * @param attributeName attribute name
-	 * @return the specified extension attribute, or <code>null</code>
-	 * @since 2.1
-	 */
-	public String getAttribute(String attributeName);	
-	
-	/**
-	 * Returns the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified. A source path computer can be
-	 * registered with a launch configuration type in plug-in XML via the
-	 * <code>sourcePathComputerId</code> attribute.
-	 * 
-	 * @return the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer();
-	
-	/**
-	 * Returns the identifier of the persistable source locator registered with
-	 * this launch configurations type, or <code>null</code> if unspecified.
-	 * Launch configuration types optionally specify this attribue
-	 * in their plug-in XML via the <code>sourceLocatorId</code> attribute.  
-	 *  
-	 * @return the identifier of the persistable source locator registered with
-	 *  this launch configurations type, or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public String getSourceLocatorId();
-	
-	/**
-	 * Returns the identifier of the plug-in that contributes this launch configuration type.
-	 * 
-	 * @return the identifier of the plug-in that contributes this launch configuration type
-	 * @since 3.0
-	 */
-	public String getPluginIdentifier();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
deleted file mode 100644
index bb1971b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * An editable copy of a launch configuration. Attributes of a
- * launch configuration are modified by modifying the attributes
- * of a working copy, and then saving the working copy.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfiguration
- * @see ILaunchConfigurationType
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
- * @since 2.0
- */
-public interface ILaunchConfigurationWorkingCopy extends ILaunchConfiguration, IAdaptable {
-	
-	/**
-	 * Returns whether this configuration has been modified
-	 * since it was last saved or created.
-	 * 
-	 * @return whether this configuration has been modified
-	 *  since it was last saved or created
-	 */
-	public boolean isDirty();
-	
-	/**
-	 * Saves this working copy to its underlying file and returns
-	 * a handle to the resulting launch configuration.
-	 * Has no effect if this configuration does not need saving.
-	 * Creates the underlying file if not yet created.
-	 * 
-	 * @exception CoreException if an exception occurs while 
-	 *  writing this configuration to its underlying file.
-	 */
-	public ILaunchConfiguration doSave() throws CoreException;
-			
-	/**
-	 * Sets the integer-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, int value);
-	
-	/**
-	 * Sets the String-valued attribute with the given name.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, String value);
-	
-	/**
-	 * Sets the <code>java.util.List</code>-valued attribute with the given name.
-	 * The specified List <em>must</em> contain only String-valued entries.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, List value);
-	
-	/**
-	 * Sets the <code>java.util.Map</code>-valued attribute with the given name.
-	 * The specified Map <em>must</em> contain only String keys and String values.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, Map value);
-	
-	/**
-	 * Sets the boolean-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, boolean value);	
-	
-	/**
-	 * Returns the original launch configuration this working copy
-	 * was created from, or <code>null</code> if this is a new
-	 * working copy created from a launch configuration type.
-	 * 
-	 * @return the original launch configuration, or <code>null</code>
-	 */
-	public ILaunchConfiguration getOriginal();
-	
-	/**
-	 * Renames this launch configuration to the specified name.
-	 * The new name cannot be <code>null</code>. Has no effect if the name
-	 * is the same as the current name. If this working copy is based
-	 * on an existing launch configuration, this will cause
-	 * the underlying launch configuration file to be renamed when
-	 * this working copy is saved.
-	 * 
-	 * @param name the new name for this configuration 
-	 */
-	public void rename(String name);	
-	
-	/**
-	 * Sets the container this launch configuration will be stored
-	 * in when saved. When set to <code>null</code>, this configuration
-	 * will be stored locally with the workspace. The specified
-	 * container must exist, if specified.
-	 * <p>
-	 * If this configuration is changed from local to non-local,
-	 * a file will be created in the specified container when
-	 * saved. The local file associated with this configuration
-	 * will be deleted.
-	 * </p>
-	 * <p>
-	 * If this configuration is changed from non-local to local,
-	 * a file will be created locally when saved.
-	 * The original file associated with this configuration in
-	 * the workspace will be deleted.
-	 * </p>
-	 * 
-	 * @param container the container in which to store this
-	 *  launch configuration, or <code>null</code> if this
-	 *  configuration is to be stored locally
-	 */
-	public void setContainer(IContainer container);	
-	
-	/**
-	 * Sets the attributes of this launch configuration to be the ones contained
-	 * in the given map. The values must be an instance of one of the following
-	 * classes: <code>String</code>, <code>Integer</code>, or
-	 * <code>Boolean</code>, <code>List</code>, <code>Map</code>. Attributes
-	 * previously set on this launch configuration but not included in the given
-	 * map are considered to be removals. Setting the given map to be
-	 * <code>null</code> is equivalent to removing all attributes.
-	 *
-	 * @param attributes a map of attribute names to attribute values.
-	 *  Attribute names are not allowed to be <code>null</code>
-	 * @since 2.1
-	 */
-	public void setAttributes(Map attributes);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
deleted file mode 100644
index 427b6f4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A launch listener is notified of launches as they
- * are added and removed from the launch manager. Also,
- * when a process or debug target is added to a launch,
- * listeners are notified of a change.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchesListener
- */
-public interface ILaunchListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launch has been removed.
-	 *
-	 * @param launch the removed launch
-	 * @since 2.0
-	 */
-	public void launchRemoved(ILaunch launch);
-	/**
-	 * Notifies this listener that the specified launch
-	 * has been added.
-	 * 
-	 * @param launch the newly added launch
-	 * @since 2.0
-	 */
-	public void launchAdded(ILaunch launch);	
-	/**
-	 * Notifies this listener that the specified launch
-	 * has changed. For example, a process or debug target
-	 * has been added to the launch.
-	 * 
-	 * @param launch the changed launch
-	 * @since 2.0
-	 */
-	public void launchChanged(ILaunch launch);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
deleted file mode 100644
index 14e6a8b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * The launch manager manages the set of registered launches, maintaining
- * a collection of active processes and debug targets. Clients interested
- * in launch notification may register with the launch manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @see ILaunch
- * @see ILaunchListener
- */
-public interface ILaunchManager {
-	/**
-	 * A launch in a normal, non-debug mode(value <code>"run"</code>).
-	 */
-	public static final String RUN_MODE= "run"; //$NON-NLS-1$
-	/**
-	 * A launch in a special debug mode (value <code>"debug"</code>).
-	 */
-	public static final String DEBUG_MODE= "debug"; //$NON-NLS-1$
-	/**
-	 * A launch in a special profile mode (value <code>"profile"</code>).
-	 * @since 3.0
-	 */
-	public static final String PROFILE_MODE= "profile"; //$NON-NLS-1$	
-	
-	/**
-	 * Launch configuration attribute name. The value is a map of environment
-	 * variables passed into Runtime.exec(...) when a launch configuration is launched.
-	 * Default value is <code>null</code> which indicates the default environment
-	 * should be used. 
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".environmentVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute name. The value is a boolean value specifying
-	 * whether the environment variables in a launch configuration
-	 * should be appended to the native environment (i.e. when <code>true</code>),
-	 * or if they should replace the environment (i.e. <code>false</code>). The
-	 * default value is <code>true</code>.
-	 * 
-	 * @since 3.0 
-	 */
-	public static final String ATTR_APPEND_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".appendEnvironmentVariables"; //$NON-NLS-1$	
-	
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registerd.
-	 *
-	 * @param listener the listener to register
-	 */
-	public void addLaunchListener(ILaunchListener listener);
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registerd.
-	 *
-	 * @param listener the listener to register
-	 * @since 2.1
-	 */
-	public void addLaunchListener(ILaunchesListener listener);	
-	/**
-	 * Removes the specified launch and notifies listeners.
-	 * Has no effect if an identical launch is not already
-	 * registered.
-	 *
-	 * @param launch the launch to remove
-	 * @since 2.0
-	 */
-	public void removeLaunch(ILaunch launch);	
-	/**
-	 * Removes the specified launch objects and notifies listeners.
-	 * Has no effect on identical launch objects that are not already
-	 * registered.
-	 *
-	 * @param launches the launch objects to remove
-	 * @since 2.1
-	 */
-	public void removeLaunches(ILaunch[] launches);		
-	/**
-	 * Returns the collection of debug targets currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of debug targets
-	 */
-	public IDebugTarget[] getDebugTargets();
-	/**
-	 * Returns the collection of launches currently registered
-	 * with this launch manager.
-	 * 
-	 * @return an array of launches
-	 */
-	public ILaunch[] getLaunches();
-	/**
-	 * Returns the collection of processes currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of processes
-	 */
-	public IProcess[] getProcesses();
-	/**
-	 * Adds the specified launch and notifies listeners. Has no
-	 * effect if an identical launch is already registered.
-	 * 
-	 * @param launch the launch to add
-	 * @since 2.0
-	 */
-	public void addLaunch(ILaunch launch);	
-	/**
-	 * Adds the specified launch objects and notifies listeners. Has no
-	 * effect on identical launch objects already registered.
-	 * 
-	 * @param launches the launch objects to add
-	 * @since 2.1
-	 */
-	public void addLaunches(ILaunch[] launches);		
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registerd.
-	 *
-	 * @param listener the listener to deregister
-	 */
-	public void removeLaunchListener(ILaunchListener listener);
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registerd.
-	 *
-	 * @param listener the listener to deregister
-	 * @since 2.1
-	 */
-	public void removeLaunchListener(ILaunchesListener listener);	
-	/**
-	 * Returns all launch configurations defined in the workspace.
-	 * 
-	 * @return all launch configurations defined in the workspace
-	 * @exception CoreException if an exception occurs retrieving configurations
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations() throws CoreException;
-	
-	/**
-	 * Returns all launch configurations of the specified type defined in the workspace
-	 * 
-	 * @param type a launch configuration type
-	 * @return all launch configurations of the specified type defined in the workspace
-	 * @exception CoreException if an error occurs while retreiving
-	 *  a launch configuration
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException;
-	
-	/**
-	 * Returns a handle to the launch configuration contained
-	 * in the specified file. The file is not verified to exist
-	 * or contain a launch configuration.
-	 * 
-	 * @param file launch configuration file
-	 * @return a handle to the launch configuration contained
-	 *  in the specified file
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(IFile file);
-	
-	/**
-	 * Returns a handle to the launch configuration specified by
-	 * the given memento. The configuration may not exist.
-	 * 
-	 * @return a handle to the launch configuration specified by
-	 *  the given memento
-	 * @exception CoreException if the given memento is invalid or
-	 *  an exception occurs parsing the memento
-	 * @see ILaunchConfiguration#getMemento()
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException;
-	
-	/**
-	 * Returns all defined launch configuration type extensions
-	 * 
-	 * @return all defined launch configuration type extensions
-	 * @since 2.0
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes();
-	
-	/**
-	 * Returns the launch configuration type extension with the specified
-	 * id, or <code>null</code> if it does not exist.
-	 * 
-	 * @param id unique identifier for a launch configuration type extension
-	 * @return the launch configuration type extension with the specified
-	 * id, or <code>null</code> if it does not exist
-	 * @since 2.0
-	 */
-	public ILaunchConfigurationType getLaunchConfigurationType(String id);
-	
-	/**
-	 * Adds the given launch configuration listener to the list
-	 * of listeners notified when a launch configuration is
-	 * added, removed, or changed. Has no effect if the given listener
-	 * is already registered.
-	 * 
-	 * @param listener launch configuration listener
-	 * @since 2.0
-	 */
-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener);
-	
-	/**
-	 * Removes the given launch configuration listener from the list
-	 * of listeners notified when a launch configuration is
-	 * added, removed, or changed. Has no effect if the given listener
-	 * is not already registered.
-	 * 
-	 * @param listener launch configuration listener
-	 * @since 2.0
-	 */
-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener);	
-	
-	/**
-	 * Return <code>true</code> if there is a launch configuration with the specified name, 
-	 * <code>false</code> otherwise.
-	 * 
-	 * @param name the name of the launch configuration whose existence is being checked
-	 * @exception CoreException if unable to retrieve existing launch configuration names
-	 * @since 2.0
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) throws CoreException;
-
-	/**
-	 * Return a String that can be used as the name of a launch configuration.  The name
-	 * is guaranteed to be unique (no existing launch configurations will have this name).
-	 * The name that is returned uses the <code>namePrefix</code> as a starting point.  If 
-	 * there is no existing launch configuration with this name, then <code>namePrefix</code>
-	 * is returned.  Otherwise, the value returned consists of the specified prefix plus
-	 * some suffix that guarantees uniqueness.
-	 * 
-	 * @param namePrefix the String that the returned name must begin with
-	 * @since 2.0
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String namePrefix);
-
-	/**
-	 * Creates and returns a new source locator of the specified
-	 * type.
-	 * 
-	 * @param identifier the identifier associated with a 
-	 *  persistable source locator extension
-	 * @return a source locator
-	 * @exception CoreException if an exception occurs creating
-	 *  the source locator
-	 * @since 2.0
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException;
-	
-	/**
-	 * When a launch configuration is created or moved, registered launch
-	 * configuration listeners (see <code>ILaunchConfigurationListener</code>)
-	 * are notified of an add notification for the new configuration. If the
-	 * notification is the result of a move this method will return a handle to
-	 * the launch configuration that the added launch configuration was moved
-	 * from. This method returns <code>null</code> if the added launch
-	 * configuration was not the result of a rename or move. This information is
-	 * only available during the add notification call back
-	 * <code>launchConfigurationAdded</code>.
-	 * <p>
-	 * Renaming a configuration is considered the same as moving a
-	 * configuration.
-	 * </p>
-	 * 
-	 * @param addedConfiguration a launch configuration for which an add
-	 * notification is being broadcast
-	 * @return the launch configuration that the added launch configuration was
-	 * moved from, or <code>null</code> if the add notification is not the
-	 * result of a move
-	 * @since 2.1
-	 */
-	public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration);
-	
-	/**
-	 * When a launch configuration is deleted or moved, registered launch
-	 * configuration listeners (see <code>ILaunchConfigurationListener</code>)
-	 * are notified of a remove notification for launch configuration that has
-	 * been deleted. If the notification is the result of a move this method
-	 * will return a handle to the launch configuration that the removed launch
-	 * configuration was moved to. This method returns <code>null</code> if the
-	 * removed launch configuration was not the result of a rename or move. This
-	 * information is only available during the add notification call back
-	 * <code>launchConfigurationRemoved</code>.
-	 * <p>
-	 * Renaming a configuration is considered the same as moving a
-	 * configuration.
-	 * </p>
-	 *
-	 * @param removedConfiguration a launch configuration for which a
-	 * remove notification is being broadcast
-	 * @return the launch configuration that the removed launch configuration
-	 * was moved to, or <code>null</code> if the add notification is not the
-	 * result of a move
-	 * @since 2.1
-	 */
-	public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration);
-
-	/**
-	 * Returns all registered launch modes.
-	 * 
-	 * @return all registered launch modes
-	 * @since 3.0
-	 */
-	public ILaunchMode[] getLaunchModes();
-	
-	/**
-	 * Returns the launch mode registered with the given mode identifier,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param mode mode identifier
-	 * @return launch mode or <code>null</code>
-	 * @since 3.0
-	 */
-	public ILaunchMode getLaunchMode(String mode);	
-	
-	/** 
-	 * Returns an array of environment variables to be used when
-	 * launching the given configuration or <code>null</code> if unspecified.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 * @since 3.0
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns a source path computer to compute a default source lookup path for
-	 * the given launch configuration, or <code>null</code> if a source path
-	 * computer has not been registered for the associated launch configuration
-	 * type.
-	 *  
-	 * @param configuration a launch configuration
-	 * @return a source path computer registered for the associated launch
-	 *  configurations type, or <code>null</code> if unspecified
-	 * @throws CoreException if an exception occurs while instantiating a source
-	 *  path computer
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id source path computer identifier
-	 * @return the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id);
-
-	/**
-	 * Returns the native system environment variables as a map of
-	 * variable names and values (Strings).
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. This
-	 * method returns mixed-case keys using the variable names 
-	 * recorded by the OS.
-	 * Use {@link #getNativeEnvironment()} instead to get a WIN32 system
-	 * environment where all keys have been normalized to uppercase.
-	 * </p>
-	 * 
-	 * @return the native system environment variables; on WIN32, mixed-case
-	 * variable names (keys) are returned without normalization
-	 * (key type: <code>String</code>; value type: <code>String</code>)
-	 * @since 3.1
-	 */	
-	public Map getNativeEnvironmentCasePreserved();
-
-	/**
-	 * Returns the native system environment variables as a map of
-	 * variable names and values (Strings).
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. On 
-	 * WIN32, this method normalizes mixed-case keys variable names
-	 * to uppercase. Use {@link #getNativeEnvironmentCasePreserved()}
-	 * instead to get a WIN32 system environment where the keys are
-	 * the mixed-case variable names recorded by the OS.
-	 * </p>
-	 * 
-	 * @return the native system environment variables; on WIN32, mixed-case
-	 * variable names (keys) have been normalized to uppercase
-	 * (key type: <code>String</code>; value type: <code>String</code>)
-	 * @since 3.0
-	 */	
-	public Map getNativeEnvironment();
-
-	
-	/**
-	 * Returns all registered source container type extensions.
-	 * 
-	 * @return all registered source container type extensions
-	 * @since 3.0
-	 */
-	public ISourceContainerType[] getSourceContainerTypes();
-	
-	/**
-	 * Returns the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id unique identifier of a source container type extension
-	 * @return the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourceContainerType getSourceContainerType(String id);
-	
-	/**
-	 * Returns whether the given launch is currently registered.
-	 * 
-	 * @param launch a launch
-	 * @return whether the launch is currently registered
-	 * @since 3.1
-	 */
-	public boolean isRegistered(ILaunch launch);
-	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
deleted file mode 100644
index 5ddc8ed..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A launch mode. The debug platform contributes launch modes
- * for run, debug, and profile. Clients may contribute additional launch
- * modes in plug-in XML via the <code>launchModes</code> extension point.
- * <p>
- * Following is an example launch mode contribution for profiling. A launch
- * mode has an unique identifer specified by the <code>mode</code> attribute
- * and a human readable label specified by the <code>label</code> attribute.
- * <pre>
- *  &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
- *   &lt;launchMode
- *    mode=&quot;profile&quot;
- *    label=&quot;Profile&quot;&gt;
- *   &lt;/launchMode&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchMode {
-	
-	/**
-	 * Returns the unique identifier for this launch mode.
-	 * 
-	 * @return the unique identifier for this launch mode
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns a human readable label for this launch mode.
-	 * 
-	 * @return a human readable label for this launch mode
-	 */
-	public String getLabel();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
deleted file mode 100644
index e0e69c5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A launches listener is notified of launches as they
- * are added and removed from the launch manager. Also,
- * when a process or debug target is added to a launch,
- * listeners are notified of a change.
- * <p>
- * This interface is analagous to <code>ILaunchListerner</code>, except
- * notifications are batched to include more than one launch object
- * when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchManager
- * @since 2.1
- */
-public interface ILaunchesListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launches have been removed.
-	 *
-	 * @param launches the removed launch objects
-	 */
-	public void launchesRemoved(ILaunch[] launches);
-	/**
-	 * Notifies this listener that the specified launches
-	 * have been added.
-	 * 
-	 * @param launches the newly added launch objects
-	 */
-	public void launchesAdded(ILaunch[] launches);	
-	/**
-	 * Notifies this listener that the specified launches
-	 * have changed. For example, a process or debug target
-	 * has been added to a launch.
-	 * 
-	 * @param launches the changed launch object
-	 */
-	public void launchesChanged(ILaunch[] launches);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
deleted file mode 100644
index 7bf7022..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * Enhancements to the launches listener interface. Provides notification
- * when one or more launches terminate.
- * <p>
- * Clients implementing launches listener may implement
- * this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchesListener2 extends ILaunchesListener {
-	
-	/**
-	 * Notification that the given launches have terminated.
-	 * 
-	 * @param launches the launches that have terminated
-	 */
-	public void launchesTerminated(ILaunch[] launches);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
deleted file mode 100644
index df4fb48..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Provides logical structure types applicable to a raw implementation value from
- * a debug model. Associated with a logical structure provider extension.
- * <p>
- * The following is an example of a logical structure provider extension:
- * <pre>
- *  &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureProviders&quot;&gt;
- *   &lt;logicalStructureProvider
- *    class=&quot;com.example.ExampleLogicalStructureProvider&quot;
- *    modelIdentifier=&quot;com.example.debug.model&quot;&gt;
- *   &lt;/logicalStructureProvider&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * In the example above, the specified logical structure provider will be consulted for
- * alternative logical structures for values from the <code>com.example.debug.model</code>
- * debug model as they are displayed in the variables view.
- * </p>
- * <p>
- * Clients contributing logical structure providers must implement this
- * interface.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureProvider {
-	
-	/**
-	 * Returns the logical structure types which are applicable to the given value.
-	 * 
-	 * @param value value for which logical structure types are being requested
-	 * @return the logical structure types which are applicable to the given value
-	 */
-	public ILogicalStructureType[] getLogicalStructureTypes(IValue value);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
deleted file mode 100644
index ae049d5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2;
-
-/**
- * Provides a value representing the logical structure of a raw implementation value
- * from a debug model. Logical structures are useful for navigating complex data
- * structures. Logical structure types are contributed via extensions in plug-in XML,
- * and provide a delegate for performing logical value computation. Logical 
- * structure types can be retrieved from the <code>DebugPlugin</code>.
- * <p>
- * Following is example plug-in XML to define a logical structure type.
- * </p>
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureTypes&quot;&gt;
- *  &lt;logicalStructureType
- *   id=&quot;com.example.ExampleLogicalStructure&quot;
- *   class=&quot;com.example.ExampleLogicalStructureDelegate&quot;
- *   modelIdentifier=&quot;com.example.debug.model&quot;
- *   description=&quot;Ordered Collection&quot;&gt;
- *  &lt;/logicalStructureType&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * The attributes are specified as follows:
- * <ul>
- * <li>id - unique identifier for this logical structure type</li>
- * <li>class - fully qualified name of class that implements 
- *   <code>ILogicalStructureTypeDelegate</code></li>
- * <li>modelIdentifier - identifier of the debug model this logical structure
- *   type is associated with</li>
- * <li>description - description of the logical structure provided</li>
- * </ul>
- * </p>
- * <p>
- * Clients contributing logicalStructureType extensions are not intended to implement
- * this interface. Rather, they provide an <code>ILogicalStructureTypeDelegate</code>
- * that optionally implements <code>ILogicalStructureTypeDelegate2</code> to provide
- * dynamic descriptions of logical structures.
- * Since 3.1, clients contributing logicalStructureProviders extensions may implement this
- * interface to return a collection of logical structure types applicable to a value.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate
- * @see org.eclipse.debug.core.ILogicalStructureProvider
- */
-public interface ILogicalStructureType extends ILogicalStructureTypeDelegate, ILogicalStructureTypeDelegate2 {
-	
-	/**
-	 * Returns a simple description of the logical structure provided by this
-	 * structure type.
-	 * <p>
-	 * Since 3.1, this method can return <code>null</code> if this logical structure
-	 * type's delegate implements <code>ILogicalStructureTypeDelegate2</code>.
-	 * </p>
-	 * 
-	 * @return a simple description of the logical structure provided by this
-	 * structure type, possibly <code>null</code>
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns this logical structure type's unique identifier, as defined
-	 * in plug-in XML.
-	 * 
-	 * @return this logical structure type's unique identifier
-	 */
-	public String getId();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
deleted file mode 100644
index 8ed4e81..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-/**
- * A memory block listener is notified of the addition and removal
- * of memory blocks with the memory block manager. Listeners must
- * register with the memory block manager for notification.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryBlockListener {
-	
-	/**
-	 * Notification the given memory blocks ahve been added to the
-	 * memory block manager.
-	 * 
-	 * @param memory blocks added to the memory block manager
-	 */
-	void memoryBlocksAdded(IMemoryBlock[] memory);
-
-	/**
-	 * Notification the given memory blocks have been removed from
-	 * the memory block manager.
-	 * 
-	 * @param memory blocks removed from the memory block manager
-	 */
-	void memoryBlocksRemoved(IMemoryBlock[] memory);
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
deleted file mode 100644
index 134ebc4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Manages registered memory blocks in the workspace. Clients
- * interested in notification of the addition and removal of 
- * memory blocks may register as a memory block listener with 
- * the memory block manager.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.model.IMemoryBlock
- * @see org.eclipse.debug.core.IMemoryBlockListener
- * @since 3.1
- */
-public interface IMemoryBlockManager {
-
-	/**
-	 * Adds the given memory blocks to the memory block manager.
-	 * Registered memory block listeners are notified of the additions.
-	 * Has no effect on memory blocks that are already registered.
-	 *   
-	 * @param memoryBlocks memory blocks to add
-	 */
-	public void addMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
-	/**
-	 * Removes the given memory blocks from the memory block manager.
-	 * Registered memory block listeners are notified of the removals.
-	 * Has no effect on memory blocks that are not currently registered.
-	 * 
-	 * @param memoryBlocks memory blocks to remove
-	 */
-	public void removeMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
-	/**
-	 * Registers the given listener for memory block addition and
-	 * removal notification. Has no effect if an identical listener
-	 * is already registered.
-	 *    
-	 * @param listener the listener to add
-	 */
-	public void addListener(IMemoryBlockListener listener);
-	
-	/**
-	 * Deregisters the givem listener for memory block addition and
-	 * removal notficiation. Has no effect if an identical listener
-	 * is not already registered.
-	 * 
-	 * @param listener the listener to remove
-	 */
-	public void removeListener(IMemoryBlockListener listener);
-	
-	/**
-	 * Returns all registered memory blocks.
-	 * 
-	 * @return all registered memory blocks
-	 */
-	public IMemoryBlock[] getMemoryBlocks();
-	
-	/**
-	 * Returns all registered memory blocks assocaited with the
-	 * given debug target. That is, all registered memory blocks
-	 * whose <code>getDebugTarget()</code> method returns the
-	 * specified debug target.
-	 * 
-	 * @param debugTarget target for which memory blocks have been requested
-	 * @return all registered memory blocks associated with the given debug
-	 *  target
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget);
-	
-	/**
-	 * Returns all registered memory blocks that originated from the
-	 * given memory retrieval source.
-	 * 
-	 * @param source source for which memory blocks have been requested
-	 * @return all registered memory blocks that originated from the
-	 *  given memory retrieval source
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval source);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
deleted file mode 100644
index 802ffc9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import java.util.Map;
-
-import org.eclipse.debug.core.model.IProcess;
-
-/**
- * A process factory is used to override default process (<code>IProcess</code>)
- * creation by the debug plug-in, and can be contributed via plug-in XML. When a
- * new process is created via <code>DebugPlugin.newProcess(..)</code>, the
- * launch configuration associated with the specified launch is consulted for
- * a process factory attribute (<code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>). If
- * present, the associated process factory is consulted to create a process for
- * the launch. If not present a default process implementation is created and
- * returned by the debug plug-in.
- * <p>
- * Following is example plug-in XML that contributes a process factory.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.processFactories"&gt;
- *   &lt;processFactory
- *           id="com.example.ExampleIdentifier"
- *           class="com.example.ExampleProcessFactory"&gt;
- *   &lt;/processFactory&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li>id - a unique identifier for this extension point</li>
- * <li>class - the fully qualified name of a class the implements
- *   <code>IProcessFactory</code></li>
- * </ul>
- * </p>
- * <p>
- * Clients contributing a process factory are intended to implement this interface.
- * </p>
- * @since 3.0
- */
-
-public interface IProcessFactory {
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch, and the process is initialized
-	 * with the given attribute map.
-	 *
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param attributes initial values for the attribute map
-	 * @return the process
-	 * @see IProcess
-	 */
-	public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
deleted file mode 100644
index 571b064..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A status handler registers to handle a specific status - error
- * or otherwise. Provides a mechanism for separating core (headless)
- * function from UI interaction. The debug plug-in provides a
- * status handlers extension point, against which handlers can
- * register for specific status codes - identified by plug-in
- * identifier and plug-in specific status code. The interaction between
- * an object requiring a status handler (source), and the status handler
- * is defined by the source and handler.
- * <p>
- * For example, a launch configuration delegate might encounter a timeout
- * while launching an application. In this case the delegate could abort
- * or, via the use of a status handler, prompt the user to continue. This
- * allows the launcher to be implemented in a plug-in that does not require
- * UI support, and allows another (UI) plug-in to register a handler.
- * </p>
- * <p>
- * A status handler extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a status handler extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
- *   &lt;statusHandler 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleStatusHandler"
- *      plugin="com.example.ExamplePluginId"
- *      code="123"&gt;
- *   &lt;/statusHandler&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this status handler.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IStatusHandler</code>.</li>
- * <li><code>plugin</code> plug-in identifier that corresponds to the
- *   plug-in of the status this handler is registered for (i.e.
- *   <code>IStatus.getPlugin()</code>).</li>
- * <li><code>code</code> specifies the status code this handler
- *   is registered for.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin#getStatusHandler(IStatus)
- * @since 2.0
- */
-
-public interface IStatusHandler {
-
-	/**
-	 * Notifies this status handler that the given status has been
-	 * generated by the specified source object and requires resolution.
-	 * 
-	 * @param status the status to handle
-	 * @param source the object delegating to this status handler
-	 *   the given status
-	 * @return an object representing the resolution of the status
-	 * @exception CoreException if unable to resolve the status
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
deleted file mode 100644
index a074c89..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-
-/**
- * A stream listener is notified of changes
- * to a stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStreamMonitor
- */
-public interface IStreamListener {
-	/**
-	 * Notifies this listener that text has been appended to
-	 * the given stream monitor.
-	 *
-	 * @param text the appended text
-	 * @param monitor the stream monitor to which text was appended
-	 */
-	public void streamAppended(String text, IStreamMonitor monitor);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
deleted file mode 100644
index ae92c72..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ /dev/null
@@ -1,604 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - Bug 82003: The IDisconnect implementation by Launch module is too restrictive.
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.LaunchManager;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes. This class provides
- * a public implementation of <code>ILaunch</code> for client
- * use.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class.
- * </p>
- * @see ILaunch
- * @see ILaunchManager
- */
-
-public class Launch extends PlatformObject implements ILaunch, IDisconnect, ILaunchListener, ILaunchConfigurationListener, IDebugEventSetListener {
-	
-	/**
-	 * The debug targets associated with this
-	 * launch (the primary target is the first one
-	 * in this collection), or empty if
-	 * there are no debug targets.
-	 */
-	private List fTargets= new ArrayList();
-
-	/**
-	 * The configuration that was launched, or null.
-	 */
-	private ILaunchConfiguration fConfiguration= null;
-
-	/**
-	 * The system processes associated with
-	 * this launch, or empty if none.
-	 */
-	private List fProcesses= new ArrayList();
-
-	/**
-	 * The source locator to use in the debug session
-	 * or <code>null</code> if not supported.
-	 */
-	private ISourceLocator fLocator= null;
-
-	/**
-	 * The mode this launch was launched in.
-	 */
-	private String fMode;
-	
-	/**
-	 * Table of client defined attributes
-	 */
-	private HashMap fAttributes;	
-	
-	/**
-	 * Flag indiating that change notification should
-	 * be suppressed. <code>true</code> until this
-	 * launch has been initialzied.
-	 */
-	private boolean fSuppressChange = true;
-		
-	/**
-	 * Constructs a launch with the specified attributes.
-	 *
-	 * @param launchConfiguration the configuration that was launched
-	 * @param mode the mode of this launch - run or debug (constants
-	 *  defined by <code>ILaunchManager</code>)
-	 * @param locator the source locator to use for this debug session, or
-	 * 	<code>null</code> if not supported
-	 */
-	public Launch(ILaunchConfiguration launchConfiguration, String mode, ISourceLocator locator) {		
-		setLaunchConfiguration(launchConfiguration);
-		setSourceLocator(locator);
-		setLaunchMode(mode);
-		fSuppressChange = false;
-	}
-	
-	/**
-	 * Registers listeners for launches, launch configurations
-	 * and debug events.
-	 */
-	private void addListeners() {
-		getLaunchManager().addLaunchListener(this);
-		getLaunchManager().addLaunchConfigurationListener(this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * Remvoes the registered listeners.
-	 */
-	private void removeListeners() {
-		getLaunchManager().removeLaunchListener(this);
-		getLaunchManager().removeLaunchConfigurationListener(this);
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		List processes = getProcesses0();
-		for (int i = 0; i < processes.size(); i++) {
-			IProcess process = (IProcess)processes.get(i);
-			if (process.canTerminate()) {
-				return true;
-			}
-		}
-		List targets = getDebugTargets0();
-		for (int i = 0; i < targets.size(); i++) {
-			IDebugTarget target = (IDebugTarget)targets.get(i);
-			if (target.canTerminate() || target.canDisconnect()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see ILaunch#getChildren()
-	 */
-	public Object[] getChildren() {
-		ArrayList children = new ArrayList(getDebugTargets0());
-		children.addAll(getProcesses0());
-		return children.toArray();
-	}
-
-	/**
-	 * @see ILaunch#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		if (!getDebugTargets0().isEmpty()) {
-			return (IDebugTarget)getDebugTargets0().get(0);
-		}
-		return null;
-	}
-		
-	/**
-	 * Sets the configuration that was launched
-	 * 
-	 * @param configuration the configuration that was launched
-	 */
-	private void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfiguration = configuration;
-	}	
-
-	/**
-	 * @see ILaunch#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		return (IProcess[])getProcesses0().toArray(new IProcess[getProcesses0().size()]);
-	}
-	
-	/**
-	 * Returns the processes associated with this
-	 * launch, in its internal form - a list.
-	 * 
-	 * @return list of processes
-	 */
-	protected List getProcesses0() {
-		return fProcesses;
-	}	
-	
-	/**
-	 * @see ILaunch#getSourceLocator()
-	 */
-	public ISourceLocator getSourceLocator() {
-		return fLocator;
-	}
-	
-	/**
-	 * @see ILaunch#setSourceLocator(ISourceLocator)
-	 */
-	public void setSourceLocator(ISourceLocator sourceLocator) {
-		fLocator = sourceLocator;
-	}	
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		if (getProcesses0().isEmpty() && getDebugTargets0().isEmpty()) {
-			return false;
-		}
-
-		Iterator processes = getProcesses0().iterator();
-		while (processes.hasNext()) {
-			IProcess process = (IProcess)processes.next();
-			if (!process.isTerminated()) {
-				return false;
-			}
-		}
-		
-		Iterator targets = getDebugTargets0().iterator();
-		while (targets.hasNext()) {
-			IDebugTarget target = (IDebugTarget)targets.next();
-			if (!(target.isTerminated() || target.isDisconnected())) {
-				return false;
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		MultiStatus status= 
-			new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.Launch_terminate_failed, null); //$NON-NLS-1$
-		
-		// terminate the system processes
-		IProcess[] processes = getProcesses();
-		for (int i = 0; i < processes.length; i++) {
-			IProcess process = processes[i];
-			if (process.canTerminate()) {
-				try {
-					process.terminate();
-				} catch (DebugException e) {
-					status.merge(e.getStatus());
-				}
-			}
-		}
-		
-		// terminate or disconnect debug target if it is still alive
-		IDebugTarget[] targets = getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			IDebugTarget target= targets[i];
-			if (target != null) {
-				if (target.canTerminate()) {
-					try {
-						target.terminate();
-					} catch (DebugException e) {
-						status.merge(e.getStatus());
-					}
-				} else {
-					if (target.canDisconnect()) {
-						try {
-							target.disconnect();
-						} catch (DebugException de) {
-							status.merge(de.getStatus());
-						}
-					}
-				}
-			}
-		}
-		if (status.isOK()) {
-			return;
-		}
-		IStatus[] children= status.getChildren();
-		if (children.length == 1) {
-			throw new DebugException(children[0]);
-		} 
-		throw new DebugException(status);
-	}
-
-	/**
-	 * @see ILaunch#getLaunchMode()
-	 */
-	public String getLaunchMode() {
-		return fMode;
-	}
-	
-	/**
-	 * Sets the mode in which this launch was 
-	 * launched.
-	 * 
-	 * @param mode the mode in which this launch
-	 *  was launched - one of the constants defined
-	 *  by <code>ILaunchManager</code>.
-	 */
-	private void setLaunchMode(String mode) {
-		fMode = mode;
-	}
-	
-	/**
-	 * @see ILaunch#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfiguration;
-	}
-
-	/**
-	 * @see ILaunch#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		fAttributes.put(key, value);		
-	}
-
-	/**
-	 * @see ILaunch#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-
-	/**
-	 * @see ILaunch#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		return (IDebugTarget[])fTargets.toArray(new IDebugTarget[fTargets.size()]);
-	}
-	
-	/**
-	 * Returns the debug targets associated with this
-	 * launch, in its internal form - a list
-	 * 
-	 * @return list of debug targets
-	 */
-	protected List getDebugTargets0() {
-		return fTargets;
-	}	
-
-	/**
-	 * @see ILaunch#addDebugTarget(IDebugTarget)
-	 */
-	public void addDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (!getDebugTargets0().contains(target)) {
-				addListeners();
-				getDebugTargets0().add(target);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeDebugTarget(IDebugTarget)
-	 */
-	public void removeDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (getDebugTargets0().remove(target)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * @see ILaunch#addProcess(IProcess)
-	 */
-	public void addProcess(IProcess process) {
-		if (process != null) {
-			if (!getProcesses0().contains(process)) {
-				addListeners();
-				getProcesses0().add(process);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeProcess(IProcess)
-	 */
-	public void removeProcess(IProcess process) {
-		if (process != null) {
-			if (getProcesses0().remove(process)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * Adds the given processes to this launch.
-	 * 
-	 * @param processes processes to add
-	 */
-	protected void addProcesses(IProcess[] processes) {
-		if (processes != null) {
-			for (int i = 0; i < processes.length; i++) {
-				addProcess(processes[i]);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners that this launch has changed.
-	 * Has no effect of this launch has not yet been
-	 * properly created/initialized.
-	 */
-	protected void fireChanged() {
-		if (!fSuppressChange) {
-			((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.CHANGED);
-			((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.CHANGED);
-		}
-	}
-
-	/**
-	 * Notifies listeners that this launch has terminated.
-	 * Has no effect of this launch has not yet been
-	 * properly created/initialized.
-	 */
-	protected void fireTerminate() {
-		if (!fSuppressChange) {
-			((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.TERMINATE);
-			((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.TERMINATE);
-		}
-		removeListeners();
-	}
-	
-	/**
-	 * @see ILaunch#hasChildren()
-	 */
-	public boolean hasChildren() {
-		return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0);
-	}
-	
-	/**
-     * Returns whether any processes or targets can be disconnected. 
-     * Ones that are already terminated or disconnected are ignored.
-     * 
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
-	public boolean canDisconnect() {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect process = (IDisconnect)processes.get(i); 
-                if (process.canDisconnect()) {
-                    return true;
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            if ( ((IDebugTarget)targets.get(i)).canDisconnect() ) {
-                return true;
-            }
-        }
-        return false;
-	}
-
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
-	public void disconnect() throws DebugException {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect disconnect = (IDisconnect)processes.get(i);
-                if (disconnect.canDisconnect()) {
-                    disconnect.disconnect();
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            IDebugTarget debugTarget = (IDebugTarget)targets.get(i);
-            if (debugTarget.canDisconnect()) {
-                debugTarget.disconnect();
-            }
-        }
-	}
-
-	/**
-     * Returns whether all of the contained targets and processes are 
-     * disconnected. Processes that don't support disconnecting are not 
-     * counted.
-     * 
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
-	public boolean isDisconnected() {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect process = (IDisconnect)processes.get(i); 
-                if (!process.isDisconnected()) {
-                    return false;
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            if ( !((IDebugTarget)targets.get(i)).isDisconnected() ) {
-                return false;
-            }
-        }
-        // only return true if there are processes or targets that are disconnected
-        return hasChildren();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch)) {
-			removeListeners();
-		}
-	}
-
-
-
-	/**
-	 * Returns the launch manager.
-	 * 
-	 * @return the launch manager.
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * If the launch configuration this launch is associated with is
-	 * moved, update the underlying handle to the new location.
-	 *  
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		ILaunchConfiguration from = getLaunchManager().getMovedFrom(configuration);
-		if (from != null && from.equals(getLaunchConfiguration())) {
-			setLaunchConfiguration(configuration);
-			fireChanged();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * Update the launch configuration associated with this launch if the
-	 * underlying configuration is deleted.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		if (configuration.equals(getLaunchConfiguration())) {
-			if (getLaunchManager().getMovedTo(configuration) == null) {
-				setLaunchConfiguration(null);
-				fireChanged();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE) {
-				Object object = event.getSource();
-				ILaunch launch = null;
-				if (object instanceof IProcess) {
-					launch = ((IProcess)object).getLaunch();
-				} else if (object instanceof IDebugTarget) {
-					launch = ((IDebugTarget)object).getLaunch();
-				}
-				if (this.equals(launch)) {
-					if (isTerminated()) {
-						fireTerminate();
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
deleted file mode 100644
index 5c921c8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Abstract implementation of a breakpoint. This class is
- * intended to be subclassed by implementations
- * of breakpoints.
- * 
- * @see IBreakpoint
- * @since 2.0
- */
-
-public abstract class Breakpoint extends PlatformObject implements IBreakpoint {
-	
-	static {
-		// making sure that the BreakpointManager is correctly initialized
-		// before any breakpoint marker related operation (see bug 54993)
-		DebugPlugin.getDefault().getBreakpointManager().getBreakpoints();
-	}
-				
-	/**
-	 * Underlying marker.
-	 */
-	private IMarker fMarker= null;
-	
-	/**
-	 * @see IBreakpoint#setMarker(IMarker)
-	 */
-	public void setMarker(IMarker marker) throws CoreException {
-		fMarker= marker;
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object item) {
-		if (item instanceof IBreakpoint) {
-			return getMarker().equals(((IBreakpoint)item).getMarker());
-		}
-		return false;
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getMarker().hashCode();
-	}
-		
-	/**
-	 * @see IBreakpoint#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) throws CoreException {
-		if (enabled != isEnabled()) {
-			setAttribute(ENABLED, enabled);
-		}
-	}
-	
-	/**
-	 * @see IBreakpoint#isEnabled()
-	 */
-	public boolean isEnabled() throws CoreException {
-		return getMarker().getAttribute(ENABLED, false);
-	}
-	
-	/**
-	 * @see IBreakpoint#isRegistered()
-	 */
-	public boolean isRegistered() throws CoreException {
-			IMarker marker= getMarker();
-			return marker.exists() && marker.getAttribute(REGISTERED, true);
-	}	
-	
-	/**
-	 * @see IBreakpoint#setRegistered(boolean)
-	 */
-	public void setRegistered(boolean registered) throws CoreException {
-		if (isRegistered() != registered) {
-			setAttribute(REGISTERED, registered);
-			IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();
-			if (registered) {
-				mgr.addBreakpoint(this);
-			} else {
-				mgr.removeBreakpoint(this, false);
-			}
-		}
-	}	
-
-	/**
-	 * @see IBreakpoint#delete()
-	 */
-	public void delete() throws CoreException {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(this, false);
-		getMarker().delete();
-	}
-
-	/**
-	 * @see IBreakpoint#getMarker()
-	 */
-	public IMarker getMarker() {
-		return fMarker;
-	}
-
-	/**
-	 * @see IBreakpoint#isPersisted()
-	 */
-	public boolean isPersisted() throws CoreException {
-		return getMarker().getAttribute(PERSISTED, true);
-	}
-
-	/**
-	 * @see IBreakpoint#setPersisted(boolean)
-	 */
-	public void setPersisted(boolean persisted) throws CoreException {
-		if (isPersisted() != persisted) {
-			setAttributes(new String[] {PERSISTED, IMarker.TRANSIENT}, new Object[] {new Boolean(persisted), new Boolean(!persisted)});
-		}
-	}
-	
-	/**
-	 * Convenience method to set the given boolean attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, boolean)
-	 */
-	protected void setAttribute(final String attributeName, final boolean value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-	
-	/**
-	 * Convenience method to set the given integer attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, int)
-	 */
-	protected void setAttribute(final String attributeName, final int value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-
-	/**
-	 * Convenience method to set the given attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	protected void setAttribute(final String attributeName, final Object value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-
-	/**
-	 * Convenience method to set the given attributes of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeNames attribute names
-	 * @param values attribute values
-	 * @exception CoreException is setting the attributes fails
-	 * @see IMarker#setAttributes(java.lang.String[], java.lang.Object[])
-	 */
-	protected void setAttributes(final String[] attributeNames, final Object[] values) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttributes(attributeNames, values);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null);
-	}
-
-	/**
-	 * Convenience method to set the attributes of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributes attribute map
-	 * @exception CoreException is setting the attributes fails
-	 * @see IMarker#setAttributes(java.util.Map)
-	 */
-	protected void setAttributes(final Map attributes) throws CoreException{
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttributes(attributes);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null);
-	}
-
-	/**
-	 * Returns the marker associated with this breakpoint.
-	 * 
-	 * @return breakpoint marker
-	 * @exception DebugException if no marker is associated with 
-	 *  this breakpoint or the associated marker does not exist
-	 */
-	protected IMarker ensureMarker() throws DebugException {
-		IMarker m = getMarker();
-		if (m == null || !m.exists()) {
-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED,
-				DebugCoreMessages.Breakpoint_no_associated_marker, null)); //$NON-NLS-1$
-		}
-		return m;
-	}
-	
-	/**
-	 * Returns whether this breakpoint has an associated marker that exists.
-	 * 
-	 * @return returns whether this breakpoint has an associated marker that exists
-	 * @since 2.1
-	 */
-	protected boolean markerExists() {
-		IMarker m = getMarker();
-		return (m != null && m.exists());
-	}
-
-	/**
-	 * Returns a scheduling rule to use when modifying markers on the given resource,
-	 * possibly <code>null</code>.
-	 * 
-	 * @param resource a resource on which a marker will be created, modified, or deleted
-	 * @return a scheduling rule to use when modifying markers on the given resource
-	 * 	possibly <code>null</code>
-	 * @since 3.1
-	 */
-    protected ISchedulingRule getMarkerRule(IResource resource) {
-        ISchedulingRule rule = null;
-        if (resource != null) {
-            IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-            rule = ruleFactory.markerRule(resource);
-        }
-        return rule;
-    }
-    
-	/**
-	 * Returns a scheduling rule to use when modifying or deleting this breakpoint's marker, 
-	 * possibly <code>null</code>. This method is only valid when this breakpoint's
-	 * marker has already been created. When creating a marker on a specific resource,
-	 * use <code>getMarkerRule(IResource)</code> instead.
-	 * 
-	 * @return a scheduling rule to use when modifying or deleting this breakpoint's marker
-	 * @since 3.1
-	 */
-    protected ISchedulingRule getMarkerRule() {
-        ISchedulingRule rule = null;
-        IMarker marker = getMarker();
-        if (marker != null) {
-	        IResource resource = marker.getResource();
-	        if (resource != null) {
-	            IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-	            rule = ruleFactory.markerRule(resource);
-	        }
-        }
-        return rule;
-    }
-    
-    /**
-	 * Execute the given workspace runnable with the scheduling rule to use when running the operation.
-	 * 
-	 * @param rule the rule to use when running the operation
-     * @param wr the runnable operation
-     * @throws DebugException If a core exception occurs performing the operation
-	 * @since 3.1
-	 */
-    protected void run(ISchedulingRule rule, IWorkspaceRunnable wr) throws DebugException {
-    	try {
-    		ResourcesPlugin.getWorkspace().run(wr, rule, 0, null);
-    	} catch (CoreException e) {
-    		throw new DebugException(e.getStatus());
-    	}			
-    }  
-    
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
deleted file mode 100644
index 33cfea1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * Implementation of common function for debug elements.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public abstract class DebugElement extends PlatformObject implements IDebugElement {
-    
-    private IDebugTarget fTarget;
-
-    /**
-     * Constructs a debug element referring to an artifact in the given
-     * debug target.
-     * 
-     * @param target debug target containing this element
-     */
-    public DebugElement(IDebugTarget target) {
-        fTarget = target;
-    }
-
-    /* (non-Javadoc)
-     * 
-     * Debug target implementation should override this method.
-     * 
-     * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-     */
-    public IDebugTarget getDebugTarget() {
-        return fTarget;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-     */
-    public ILaunch getLaunch() {
-        return getDebugTarget().getLaunch();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class adapter) {
-		if (adapter == IDebugElement.class) {
-			return this;
-		}
-		if (adapter == IStepFilters.class) {
-			return getDebugTarget();
-		}
-		if (adapter == IDebugTarget.class) {
-			return getDebugTarget();
-		}
-		if (adapter == ILaunch.class) {
-		    return getLaunch();
-		}
-		if (adapter == IProcess.class) {
-		    return getDebugTarget().getProcess();
-		}
-		return super.getAdapter(adapter);
-    }
-
-	/**
-	 * Fires a debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	public void fireEvent(DebugEvent event) {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
-	}    
-
-	/**
-	 * Fires a change event for this debug element
-	 * with the specified detail code.
-	 * 
-	 * @param detail detail code for the change event,
-	 *  such as <code>DebugEvent.STATE</code> or <code>DebugEvent.CONTENT</code>
-	 */
-	public void fireChangeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, detail));
-	}
-	
-	/**
-	 * Fires a creation event for this debug element.
-	 */
-    public void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}	
-	
-	/**
-	 * Fires a resume for this debug element with
-	 * the specified detail code.
-	 * 
-	 * @param detail detail code for the resume event, such 
-	 *  as <code>DebugEvent.STEP_OVER</code>
-	 */
-    public void fireResumeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail));
-	}
-	
-	/**
-	 * Fires a suspend event for this debug element with
-	 * the specified detail code.
-	 * 
-	 * @param detail detail code for the suspend event, such
-	 *  as <code>DebugEvent.BREAKPOINT</code>
-	 */
-    public void fireSuspendEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.SUSPEND, detail));
-	}	
-	
-	/**
-	 * Fires a terminate event for this debug element.
-	 */
-    public void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}	
-	
-	/**
-	 * Throws a debug exception with a status code of <code>TARGET_REQUEST_FAILED</code>.
-	 * 
-	 * @param message exception message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws DebugException
-	 */
-	protected void requestFailed(String message, Throwable e) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-				DebugException.TARGET_REQUEST_FAILED, message, e));
-	}
-	
-	/**
-	 * Throws a debug exception with a status code of <code>NOT_SUPPORTED</code>.
-	 * 
-	 * @param message exception message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws DebugException
-	 */
-	protected void notSupported(String message, Throwable e) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-				DebugException.NOT_SUPPORTED, message, e));
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
deleted file mode 100644
index f110471..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A breakpoint is capable of suspending the execution of a
- * program at a specific location when a program is running
- * in debug mode. Each breakpoint has an associated marker which
- * stores and persists all attributes associated with a breakpoint.
- * <p>
- * A breakpoint is defined in two parts:
- * <ol>
- * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li>
- * <li>By a marker definition that corresponds to the above breakpoint extension</li>
- * </ol>
- * <p>
- * For example, following is a definition of corresponding breakpoint
- * and breakpoint marker definitions. Note that the <code>markerType</code>
- * attribute defined by the breakpoint extension corresponds to the 
- * type of the marker definition.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.breakpoints"&gt;
- *   &lt;breakpoint 
- *      id="com.example.Breakpoint"
- *      class="com.example.Breakpoint"
- *      markerType="com.example.BreakpointMarker"&gt;
- *   &lt;/breakpoint&gt;
- * &lt;/extension&gt;
- * &lt;extension point="org.eclipse.core.resources.markers"&gt;
- *   &lt;marker 
- *      id="com.example.BreakpointMarker"
- *      super type="org.eclipse.debug.core.breakpointMarker"
- *      attribute name ="exampleAttribute"&gt;
- *   &lt;/marker&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * The breakpoint manager instantiates persisted breakpoints by
- * traversing all markers that are a subtype of
- * <code>"org.eclipse.debug.core.breakpointMarker"</code>, and 
- * instantiating the class defined by the <code>class</code> attribute
- * on the associated breakpoint extension. The method <code>setMarker</code>
- * is then called to associate a marker with the breakpoint.
- * </p>
- * <p>
- * Breakpoints may or may not be registered with the breakpoint manager, and
- * are persisted and restored as such. Since marker definitions only allow
- * all or none of a specific marker type to be persisted, breakpoints define
- * a <code>PERSISTED</code> attribute for selective persistence of breakpoints
- * of the same type.
- * </p>
- * 
- * @since 2.0
- */
-
-public interface IBreakpoint extends IAdaptable {
-	
-	/**
-	 * Root breakpoint marker type	
-	 * (value <code>"org.eclipse.debug.core.breakpointMarker"</code>).
-	 */
-	public static final String BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".breakpointMarker"; //$NON-NLS-1$
-	
-	/**
-	 * Line breakpoint marker type
-	 * (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>).
-	 */
-	public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".lineBreakpointMarker"; //$NON-NLS-1$
-			
-	/**
-	 * Enabled breakpoint marker attribute (value <code>"org.eclipse.debug.core.enabled"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to the
-	 * enabled state of a breakpoint.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$
-	
-	/**
-	 * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).
-	 * The attribute is a <code>String</code> corresponding to the
-	 * identifier of the debug model a breakpoint is associated with.
-	 */
-	public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$
-	
-	/**
-	 * Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint has been registered with the breakpoint manager.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String REGISTERED= "org.eclipse.debug.core.registered"; //$NON-NLS-1$	
-	
-	/**
-	 * Persisted breakpoint marker attribute (value <code>"org.eclipse.debug.core.persisted"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint is to be persisted accross workspace
-	 * invocations.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$
-	
-	/**
-	 * Deletes this breakpoint's underlying marker, and removes
-	 * this breakpoint from the breakpoint manager.
-	 *
-	 * @exception CoreException if unable to delete this breakpoint's
-	 *  underlying marker
-	 */
-	public void delete() throws CoreException;
-	
-	/**
-	 * Returns the marker associated with this breakpoint, or
-	 * <code>null</code> if no marker is associated with this breakpoint.
-	 * 
-	 * @return associated marker, or <code>null</code> if there is
-	 * 	no associated marker.
-	 */
-	public IMarker getMarker();
-	/**
-	 * Sets the marker associated with this breakpoint. This method is
-	 * called once at breakpoint creation.
-	 * 
-	 * @param marker the marker to associate with this breakpoint
-	 * @exception CoreException if an error occurs accessing the marker
-	 */
-	public void setMarker(IMarker marker) throws CoreException;
-	/**
-	 * Returns the identifier of the debug model this breakpoint is
-	 * associated with.
-	 * 
-	 * @return the identifier of the debug model this breakpoint is
-	 * 	associated with
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns whether this breakpoint is enabled
-	 * 
-	 * @return whether this breakpoint is enabled
-	 * @exception CoreException if unable to access the associated
-	 *  attribute from this breakpoint's underlying marker
-	 */
-	public boolean isEnabled() throws CoreException;
-	/**
-	 * Sets the enabled state of this breakpoint. This has no effect
-	 * if the current enabled state is the same as specified by the
-	 * enabled parameter.
-	 * 
-	 * @param enabled  whether this breakpoint should be enabled
-	 * @exception CoreException if unable to set the associated attribute on
-	 *  this breakpoint's underlying marker.
-	 */
-	public void setEnabled(boolean enabled) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is currently registered with
-	 * the breakpoint manager.
-	 * 
-	 * @return whether this breakpoint is currently registered with
-	 *  the breakpoint manager
-	 * @exception CoreException if unable to access the associated 
-	 *  attribute on this breakpoint's underlying marker
-	 */
-	public boolean isRegistered() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is currently registered with the
-	 * breakpoint manager. 
-	 * 
-	 * @param registered whether this breakpoint is registered with the
-	 *   breakpoint manager
-	 * @exception CoreException if unable to set the associated attribute
-	 *  on this breakpoint's underlying marker.
-	 */
-	public void setRegistered(boolean registered) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Since marker definitions only allow all/none of a specific type
-	 * of marker to be persisted (rather than selected markers of a
-	 * specific type), breakpoints define this functionality.
-	 * 
-	 * @return whether this breakpoint is to be persisted
-	 * @exception CoreException if unable to access the associated attribute
-	 *  on this breakpoint's underlying marker
-	 */
-	public boolean isPersisted() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Has no effect if this breakpoint's marker definition is defined as not
-	 * persisted. Sets the underlying <code>TRANSIENT</code> attribute on this
-	 * breakpoint's marker to <code>true</code>.
-	 * 
-	 * @param registered whether this breakpoint is to be persisted across
-	 * workspace invocations
-	 * @exception CoreException if unable to set the associated attribute on
-	 *  this breakpoint's underlying marker.
-	 */
-	public void setPersisted(boolean registered) throws CoreException;
-    
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
deleted file mode 100644
index a6defd6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A debug element represents an artifact in a program being
- * debugged.
- * <p>
- * Some methods on debug elements require communication
- * with the target program. Such methods may throw a <code>DebugException</code>
- * with a status code of <code>TARGET_REQUEST_FAILED</code>
- * when unable to complete a request due to a failure on the target.
- * Methods that require communication with the target program or require
- * the target to be in a specific state (for example, suspended), are declared
- * as such.
- * </p>
- * <p>
- * Debug elements are language independent. However, language specific
- * features can be made available via the adapter mechanism provided by
- * <code>IAdaptable</code>, or by extending the debug element interfaces.
- * A debug model is responsible for declaring any special adapters 
- * its debug elements implement.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IDebugElement extends IAdaptable {
-	
-	/**
-	 * Returns the unique identifier of the plug-in
-	 * this debug element originated from.
-	 *
-	 * @return the plug-in identifier
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns the debug target this element is contained in.
-	 * 
-	 * @return the debug target this element is contained in
-	 */
-	public IDebugTarget getDebugTarget();
-	/**
-	 * Returns the launch this element is contained in.
-	 * 
-	 * @return the launch this element is contained in
-	 */
-	public ILaunch getLaunch();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
deleted file mode 100644
index 49fd177..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A debug model provider provides debug model identifiers.
- * This interface is used as an adapter to determine what 
- * debug models are associated with an adaptable object. 
- * Generally, when debugging one language, only one debug
- * model is associated with a debug element. However,
- * a debug model that provides cross language debugging
- * may represent several debug models. 
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IDebugModelProvider {
-	
-	/**
-	 * Returns a collection of debug model identifiers.
-	 * 
-	 * @return a collection of debug model identifiers
-	 */
-	public String[] getModelIdentifiers();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
deleted file mode 100644
index 0eb074a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.IBreakpointListener;
-
-/**
- * A debug target is a debuggable execution context. For example, a debug target
- * may represent a debuggable process or a virtual machine. A debug target is the root
- * of the debug element hierarchy. A debug target contains threads. Minimally, a debug
- * target supports the following:
- * <ul>
- * <li>terminate
- * <li>suspend/resume
- * <li>breakpoints
- * <li>disconnect
- * </ul>
- * <p>
- * Generally, launching a debug session results in the creation of a
- * debug target. Launching is a client responsibility, as is debug target
- * creation.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ITerminate
- * @see ISuspendResume
- * @see IBreakpointListener
- * @see IDisconnect
- * @see IMemoryBlockRetrieval
- * @see org.eclipse.debug.core.ILaunch
- */
-public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume, IBreakpointListener, IDisconnect, IMemoryBlockRetrieval {
-	/**
-	 * Returns the system process associated with this debug target.
-	 * 
-	 * @return the system process associated with this debug target
-	 */
-	public IProcess getProcess();
-	/**
-	 * Returns the threads contained in this debug target. An
-	 * empty collection is returned if this debug target contains
-	 * no threads.
-	 * 
-	 * @return a collection of threads
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 * @since 2.0
-	 */
-	public IThread[] getThreads() throws DebugException;
-	
-	/**
-	 * Returns whether this debug target currently contains any threads.
-	 * 
-	 * @return whether this debug target currently contains any threads
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 * @since 2.0
-	 */
-	public boolean hasThreads() throws DebugException;
-	
-	/**
-	 * Returns the name of this debug target. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this target's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns whether this target can install the given breakpoint. 
-	 * 
-	 * @return whether this target can install the given breakpoint
-	 */
-	public boolean supportsBreakpoint(IBreakpoint breakpoint);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
deleted file mode 100644
index c0cf267..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The ability to end a debug session with a target program
- * and allow the target to continue running.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IDebugTarget
- */
-public interface IDisconnect {
-	/**
-	 * Returns whether this element can currently disconnect.
-	 * 
-	 * @return whether this element can currently disconnect
-	 */
-	public boolean canDisconnect();
-	/**
-	 * Disconnects this element from its target. Generally, disconnecting
-	 * ends a debug session with a debug target, but allows the target
-	 * program to continue running.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void disconnect() throws DebugException;
-	/**
-	 * Returns whether this element is disconnected.
-	 *
-	 * @return whether this element is disconnected
-	 */
-	public boolean isDisconnected();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
deleted file mode 100644
index 62d1271..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to drop to frame. Drop to frame
- * generally means popping a selected stack frame (and all frames above it) from
- * the execution stack and then stepping back into the frame.
- * 
- * @since 3.1
- */
-public interface IDropToFrame {
-
-    /**
-     * Returns whether this element can currently perform a drop to frame.
-     * @return whether this element can currently perform a drop to frame
-     */
-    public boolean canDropToFrame();
-    
-    /**
-     * Performs a drop to frame on this element. Implementations must generate
-     * events such that debug clients can update appropraitely, such as corresponding
-     * <code>RESUME</code> and <code>SUSPEND</code> events, or a sinlge <code>CHANGE</code>
-     * event when the drop is complete. Implementations should implement drop to frame
-     * in a non-blocking fashion. 
-     * 
-     * @throws DebugException on failure. Reasons include:<ul>
-     * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-     * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-     * </ul>
-     */
-    public void dropToFrame() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
deleted file mode 100644
index 3ba24d4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * An expression that can report errors which occurred during the
- * expression's evaluation.
- * 
- * @since 3.0
- */
-public interface IErrorReportingExpression extends IExpression {
-	/**
-	 * Returns whether this expression has errors to report. An expression
-	 * can have errors if errors were generated the last time its value was
-	 * computed
-	 * 
-	 * @return whether this expression's result has errors
-	 */
-	public boolean hasErrors();
-	/**
-	 * Returns this expression's error messages, if any. An expression can
-	 * have errors if errors were generated the last time its value was
-	 * computed.
-	 *  
-	 * @return this expression's error messages
-	 */
-	public String[] getErrorMessages();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
deleted file mode 100644
index 31c4f25..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-/**
- * An expression is a snippet of code that can be evaluated
- * to produce a value. When and how an expression is evaluated
- * is implementation specific. The context/binding required to
- * evaluate an expression varies by debug model, and by
- * user intent. Furthermore, an expression may need to be evaluated
- * at a specific location in a program (for example, at a
- * breakpoint/line where certain variables referenced in the
- * expression are visible/allocated). A user may want to
- * evaluate an expression once to produce a value that can
- * be inspected iteratively, or they may wish to evaluate an
- * expression iteratively producing new values each time
- * (i.e. as in a watch list). 
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IExpression extends IDebugElement {
-	
-	/**
-	 * Returns this expression's snippet of code.
-	 * 
-	 * @return the expression
-	 */
-	public abstract String getExpressionText();
-
-	/**
-	 * Returns the current value of this expression or
-	 * <code>null</code> if this expression does not
-	 * currently have a value.
-	 * 
-	 * @return value or <code>null</code>
-	 */
-	public abstract IValue getValue();
-	
-	/**
-	 * Returns the debug target this expression is associated
-	 * with, or <code>null</code> if this expression is not
-	 * associated with a debug target.
-	 * 
-	 * @return debug target or <code>null</code>
-	 * @see IDebugElement#getDebugTarget()
-	 */
-	public abstract IDebugTarget getDebugTarget();
-	
-	/**
-	 * Notifies this expression that it has been removed
-	 * from the expression manager. Any required clean up
-	 * is be performed such that this expression can be
-	 * garbage collected.
-	 */
-	public abstract void dispose();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
deleted file mode 100644
index 24e375c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to perform a filtered step. Implementations must be non-
- * blocking. Filter implementation is debug model specific and may not be
- * supported by all debug models.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- * @deprecated clients should implement <code>IStepFilters</code> instead
- */
-public interface IFilteredStep extends IStep {
-	/**
-	 * Returns whether this element can currently perform a filtered step into.
-	 *
-	 * @return whether this element can currently perform a filtered step into
-	 */
-	public boolean canStepWithFilters();
-	/**
-	 * Steps into the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread, applying step
-	 * filters, as applicable for the associated thread. Can only be called when
-	 * the associated thread is suspended. Implementations must implement
-	 * stepping as non- blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepWithFilters() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
deleted file mode 100644
index 463faa3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-
-/**
- * A stream monitor who's contents can be flushed. As well, a client may
- * turn buffering on/off in a flushable stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-public interface IFlushableStreamMonitor extends IStreamMonitor {
-
-	/**
-	 * Empties the contents of this stream monitor's underlying buffer.
-	 */
-	public void flushContents();
-	
-	/**
-	 * Sets whether the contents of this monitor's underlying stream should be
-	 * buffered. When <code>false</code>, contents appended to this stream monitor
-	 * are not stored in a buffer, and are thus not available from
-	 * <code>getContents()</code>. Registered listeners are notified of appended
-	 * text, and must buffer the contents if desired.
-	 * 
-	 * @param buffer whether the contents of this monitor's underlying stream
-	 * should be buffered
-	 */
-	public void setBuffered(boolean buffer);
-	
-	/**
-	 * Returns whether the contents of this monitor's underlying stream is
-	 * buffered.
-	 * 
-	 * @return whether the contents of this monitor's underlying stream is
-	 * buffered
-	 */
-	public boolean isBuffered();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
deleted file mode 100644
index 0b66289..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A value containing an indexed collection of variables - for example,
- * an array.
- * <p>
- * The indexed collection value has been added to the debug model to support
- * automatic partitioning of large arrays in the debug UI. Clients are not required
- * to implement this interface for values representing indexed collections,
- * however, doing so will provide enhanced display options in the debug UI.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IIndexedValue extends IValue {
-	
-	/**
-	 * Returns the variable at the given offset in this collection.
-	 * The offset is zero based.
-	 * @param offset zero based offset into this collection  
-	 * @return returns the variable in this collection at the given
-	 *  offset
-	 * @throws DebugException if unable to retrieve the variable at the
-	 * given offset
-	 */
-	public IVariable getVariable(int offset) throws DebugException;
-	
-	/**
-	 * Returns a subset of the elements in this collection of variables as
-	 * specified by the given offset and length.
-	 * 
-	 * @param offset beginning offset of the subset of elements to return 
-	 * @param length the number of elements to return
-	 * @return a subset of the elements in this collection of variables as
-	 *  specified by the given offset and length
-	 * @throws DebugException if unable to retrieve the variables
-	 */
-	public IVariable[] getVariables(int offset, int length) throws DebugException;
-
-	/**
-	 * Returns the number of entries in this indexed collection.
-	 * 
-	 * @return the number of entries in this indexed collection
-	 * @throws DebugException if unable to determine the number
-	 * of entries in this collection
-	 */
-	public int getSize() throws DebugException;
-	
-	/**
-	 * Returns the index of the first variable contained in this value.
-	 * Generally, indexed values are zero based, but this allows for
-	 * an arbitrary base offset.
-	 * 
-	 * @return the index of the first variable contained in this value
-	 */
-	public int getInitialOffset();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
deleted file mode 100644
index e648099..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A launch configuration delegate performs launching for a
- * specific type of launch configuration. A launch configuration
- * delegate is defined by the <code>delegate</code> attribute
- * of a <code>launchConfigurationType</code> extension.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationDelegate {
-	
-	/**
-	 * Launches the given configuration in the specified mode, contributing
-	 * debug targets and/or processes to the given launch object. The
-	 * launch object has already been registered with the launch manager.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> -
-	 *  <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>
-	 * @param launch the launch object to contribute processes and debug
-	 *  targets to
-	 * @exception CoreException if launching fails 
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
deleted file mode 100644
index 3bcb208..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Optional enhancements to the launch configuration delegate interface.
- * Allows launch delegates to abort a launch, build relevant projects in
- * the workspace before a launch, and create the launch object to be used
- * in a launch.
- * <p>
- * Clients implementing <code>ILaunchConfigurationDelegate</code> may also
- * implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchConfigurationDelegate2 extends ILaunchConfigurationDelegate {
-	
-	/**
-	 * Returns a launch object to use when launching the given launch
-	 * configuration in the given mode, or <code>null</code> if a new default
-	 * launch object should be created by the debug platform. If a launch object
-	 * is returned, its launch mode must match that of the mode specified in
-	 * this method call.
-	 *  
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @return a launch object or <code>null</code>
-	 * @throws CoreException if unable to launch
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException;
-	
-	/**
-	 * Optionally performs any required building before launching the given
-	 * configuration in the specified mode, and returns whether the debug platform
-	 * should perform an incremental workspace build before the launch continues.
-	 * If <code>false</code> is returned the launch will proceed without further
-	 * building, and if <code>true</code> is returned an incremental build will
-	 * be performed on the workspace before launching.
-	 * <p>
-	 * This method is only called if the launch is invoked with flag indicating
-	 * building should take place before the launch. This is done via the    
-	 * method
-	 * <code>ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)</code>.
-	 * </p> 
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @param monitor progress monitor
-	 * @return whether the debug platform should perform an incremental workspace
-	 *  build before the launch
-	 * @throws CoreException if an exception occurrs while building
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called after
-	 * <code>preLaunchCheck()</code> and <code>buildForLaunch()</code> providing
-	 * a final chance for this launch delegate to abort a launch if required.
-	 * For example, a delegate could cancel a launch if it discovered compilation
-	 * errors that would prevent the launch from succeeding.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs during final checks
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called first
-	 * in the launch sequence providing an opportunity for this launch delegate
-	 * to abort the launch.
-	 * 
-	 * @param configuration configuration being lanuched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs while performing pre launch checks
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
deleted file mode 100644
index 9b7b4cf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A breakpoint that can be located at a specific line of source code.
- */
-public interface ILineBreakpoint extends IBreakpoint {
-
-/**
- * Returns the line number in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not
- * present.
- *
- * @return this breakpoint's line number, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.LINE_NUMBER</code> marker attribute
- */
-public int getLineNumber() throws CoreException;
-/**
- * Returns starting source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char start value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_START</code> marker attribute
- */
-public int getCharStart() throws CoreException;
-/**
- * Returns ending source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char end value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_END</code> marker attribute
- */
-public int getCharEnd() throws CoreException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
deleted file mode 100644
index cf01974..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A delegate that provides a value represengting the logical structure of a raw
- * implementation value from a debug model. Associated with a logical structure
- * type extension.
- * <p>
- * Clients contributing logical structure types should implement this
- * interface.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureTypeDelegate {
-	
-	/**
-	 * Returns whether this structure type can provide a logical structure for 
-	 * the given value.
-	 * 
-	 * @param value value for which a logial structure is being requested
-	 * @return whether this structure type can provide a logical structure for 
-	 * the given value
-	 */
-	public boolean providesLogicalStructure(IValue value);
-	
-	/**
-	 * Returns a value representing a logical structure of the given value.
-	 * 
-	 * @param value value for which a logical structure is being requested
-	 * @return value representing logical structure
-	 * @throws CoreException if an exception occurrs generating a logical
-	 *  structure
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
deleted file mode 100644
index 715527d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-/**
- * Optional extension to <code>ILogicalStructureTypeDelegate</code> that allows
- * a logical structure type delegate to provide a description for a value.
- * This allows a logical structure type to provide logical structures and
- * descriptions for more than one type of value.
- * <p>
- * If a logical structure type delegate implements this interface, it will
- * be consulted for a description rather than using the description attribute
- * provided in plub-in XML.
- * </p>
- * <p>
- * Clients contributing logical structure types can implement this
- * interface.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureTypeDelegate2 {
-	
-	/**
-	 * Returns a simple description of the logical structure provided by this
-	 * structure type delegate, for the given value.
-	 * Cannot return <code>null</code>. This method is only called if this
-	 * logical strucure type delegate returns <code>true</code> for
-	 * <code>providesLogicalStructure(IValue)</code>.
-	 * 
-	 * @return a simple description of the logical structure provided by this
-	 * structure type delegate, for the given value
-	 */
-	public String getDescription(IValue value);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
deleted file mode 100644
index 47b6d4e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A contiguous segment of memory in an execution context.
- * A memory block is represented by a starting memory address
- * and a length. Not all debug architectures support the retrieval
- * of memory blocks.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IMemoryBlockRetrieval
- * @since 2.0
- */
-public interface IMemoryBlock extends IDebugElement {
-	
-	/**
-	 * Returns the start address of this memory block.
-	 * 
-	 * @return the start address of this memory block
-	 */
-	public long getStartAddress();
-	
-	/**
-	 * Returns the length of this memory block in bytes.
-	 * 
-	 * @return the length of this memory block in bytes
-	 */	
-	public long getLength();
-	
-	/**
-	 * Returns the values of the bytes currently contained
-	 * in this this memory block.
-	 * 
-	 * @return the values of the bytes currently contained
-	 *  in this this memory block
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */	
-	public byte[] getBytes() throws DebugException;
-	
-	/**
-	 * Returns whether this memory block supports value modification
-	 * 
-	 * @return whether this memory block supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Sets the value of the bytes in this memory block at the specified
-	 * offset within this memory block to the spcified bytes.
-	 * The offset is zero based.
-	 * 
-	 * @param offset the offset at which to set the new values
-	 * @param bytes the new values
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This memory block does not support value modification</li>
-	 * <li>The specified offset is greater than or equal to the length
-	 *   of this memory block, or the number of bytes specified goes
-	 *   beyond the end of this memory block (index of out of range)</li>
-	 * </ul>
-	 */
-	public void setValue(long offset, byte[] bytes) throws DebugException;
-	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
deleted file mode 100644
index a390668..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Extensions to {@link org.eclipse.debug.core.model.IMemoryBlock}. Allows
- * for bytes to be accessed in a larger address space, and for state information
- * to be provided for each byte. 
- * <p>
- * Clients may optionally implement this interface when providing implementations of
- * {@link org.eclipse.debug.core.model.IMemoryBlock}.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.model.MemoryByte
- */
-public interface IMemoryBlockExtension extends IMemoryBlock {
-	
-	/**
-	 * Returns the expression used to create this memory block. An expression can
-	 * be used as name for a memory block and typically represents an expression
-	 * used to compute a base address for a memory block.
-	 * 
-	 * @return the expression used to create this memory block
-	 */
-	public String getExpression();	
-	
-	/**
-	 * Returns the base address of this memory block as a big integer. The 
-	 * address is in terms of addressable units.
-	 * 
-	 * @return the base address of this memory block
-	 * @throws DebugException if unable to retreive the base address
-	 */
-	public BigInteger getBigBaseAddress() throws DebugException;
-	
-	/**
-	 * Returns the hard start address of this memory block as a big integer, or 
-	 * <code>null</code> if none. A <code>null</code> start address indicates that
-	 * memory may be retrieved at any address less than this memory block's base
-	 * address.
-	 * 
-	 * @return the hard start address of this memory block or <code>null</code>
-	 * @throws DebugException if unable to retrieve the start address of this memory block.
-	 */
-	public BigInteger getMemoryBlockStartAddress() throws DebugException;
-	
-	/**
-	 * Returns the hard end address of this memory block as a big integer, or
-	 * <code>null</code> if none. A <code>null</code> end address indicates that
-	 * memory may be retrieved from any positive offset relative to the base address
-	 * of this memory block. 
-	 * 
-	 * @return the hard end address of this memory block or <code>null</code>
-	 * @throws DebugException if unable to retrieve the end address of this memory block.
-	 */
-	public BigInteger getMemoryBlockEndAddress() throws DebugException;
-	
-	/**
-	 * Returns the length of this memory block, or -1 if unbounded.
-	 * Returns "end address - start address"  for a memory block with a fixed
-	 * length (i.e. when both start and end address are known).
-	 * Returns -1 for an unbounded memory block (i.e. when start or end address is
-	 * <code>null</code>).
-	 * 
-	 * @return length of this memory block or -1 if unbounded
-	 * @throws DebugException if unable to retrieve the length of this memory block.
-	 */
-	public BigInteger getBigLength() throws DebugException;
-	
-	/**
-	 * Returns the address size of this memory block in number of bytes. The address
-	 * size indicates the number of bytes used to construct an address.
-	 *  
-	 * @return address size in number of bytes
-	 * @throws DebugException if unable to retrieve the address size
-	 */
-	public int getAddressSize() throws DebugException;
-	
-	/**
-	 * Returns whether the base address of this memory block can be modified.
-	 * 
-	 * @return whether the base address of this memory block can be modified
-	 * @throws DebugException is unable to determine if base address modification is supported
-	 */
-	public boolean supportBaseAddressModification() throws DebugException;
-	
-	/**
-	 * Returns whether this memory block manages the change state of its bytes.
-	 * <p>
-	 * If a memory block manages changes the memory block is responsible for
-	 * setting the <code>CHANGED</code> state of its <code>MemoryByte</code>'s
-	 * returned from <code>getBytesFromAddress</code> and
-	 * <code>getBytesFromOffset</code>. The changed state of a byte should
-	 * be updated each time a thread suspends in a memory block's target.
-	 * </p>
-	 * @return whether this memory block manages the change state of its bytes  
-	 */
-	public boolean supportsChangeManagement();
-	
-	/**
-	 * Sets the base address of this memory block to the given address.
-	 * 
-	 * @param address new base address
-	 * @throws DebugException if unable to modify the base address, or modification
-	 *  of the base address fails
-	 */
-	public void setBaseAddress(BigInteger address) throws DebugException;
-
-	/**
-	 * Returns bytes from this memory block based on the base address and
-	 * addressable size of this memory block.
-	 * <p>
-	 * A memory block may be asked to retrieve bytes beyond it's start
-	 * or end address. If a memory block is unable to retrieve memory outside
-	 * these boundaries, implementations should return memory bytes with
-	 * the <code>READABLE</code> bit turned off for each byte outside
-	 * the of the accessible range. An exception should not be thrown in this
-	 * case.
-	 * </p> 
-	 * @param unitOffset zero based offset into this memory block at which to start
-	 *  retrieving bytes in terms of addressable units. Client should retrieve
-	 *  memory starting from "base address + offset".
-	 * @param addressableUnits the number of addressable units to retrieve
-	 * @return an array of bytes from this memory block based on the given offset
-	 *  and number of units. The size of the array returned must to be equal to 
-	 *  <code>units</code> * <code>getAddressableSize()</code>.
-	 * @throws DebugException if unable to retrieve the specified bytes due to
-	 *  a failure communicating with the target
-	 * @see MemoryByte
-	 */
-	public MemoryByte[] getBytesFromOffset(BigInteger unitOffset, long addressableUnits) throws DebugException;
-	
-	/**
-	 * Returns bytes from this memory block based on the given address and the
-	 * addressable size of this memory block.
-	 * <p>
-	 * A memory block may be asked to retrieve bytes beyond it's start
-	 * or end address. If a memory block is unable to retrieve memory outside
-	 * these boundaries, implementations should return memory bytes with
-	 * the <code>READABLE</code> bit turned off for each byte outside
-	 * the of the accessible range. An exception should not be thrown in this
-	 * case.
-	 * </p>
-	 * @param address address at which to begin retrieving bytes in terms
-	 *  of addressable units
-	 * @param units is the number of addressable units of memory to retrieve 
-	 * @return an array of bytes from this memory block based on the given address
-	 *  and number of units. The size of the array returned must to be equal to 
-	 *  <code>units</code> * <code>getAddressableSize()</code>.
-	 * @throws DebugException if unable to retrieve the specified bytes due to
-	 *  a failure communicating with the target 
-	 * @see MemoryByte
-	 */
-	public MemoryByte[] getBytesFromAddress(BigInteger address, long units) throws DebugException;	
-
-	/**
-	 * Sets bytes in this memory block at the specified offset within this memory block to
-	 * the spcified bytes. The offset is zero based. After successfully modifying the
-	 * specified bytes, a debug event should be fired with a kind of <code>CHANGE</code>. 
-	 * 
-	 * @param offset the zero based offset at which to set the new value.  Modify
-	 * the memory starting from base address + offset.
-	 * @param bytes replcement bytes
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This memory block does not support value modification</li>
-	 * <li>The specified offset is greater than or equal to the length
-	 *   of this memory block, or the number of bytes specified goes
-	 *   beyond the end of this memory block (index of out of range)</li>
-	 * </ul>
-	 * @see org.eclipse.debug.core.DebugEvent
-	 */
-	public void setValue(BigInteger offset, byte[] bytes) throws DebugException;
-
-	/**
-	 * Connects the given client to this memory block. Allows a memory block
-	 * to know when it is being monitored. Has no effect if an identical
-	 * client is already connected.
-	 * <p>
-	 * Memory blocks supporting change management may selectively turn off
-	 * change management when no clients are connected, for reasons of
-	 * efficiency. Clients that require access to change state information
-	 * are required to connect to a memory block before change information
-	 * is considered to be valid.
-	 * </p>
-	 * @param client the client to connect
-	 */
-	public void connect(Object client);
-	
-	/**
-	 * Disconnects the given client from this memory block. Has no effect if
-	 * an identical client is not already connected.
-	 *  
-	 * @param client the client to disconnect
-	 */
-	public void disconnect(Object client);
-	
-	/**
-	 * Returns the possibly empty list of clients currently connected to this
-	 * memory block.
-	 *  
-	 * @return the possibly empty list of clients currently connected to this
-	 * memory block
-	 */
-	public Object[] getConnections();
-	
-	/**
-	 * Dispose this memory block. Connected clients are disconnected.
-	 * @throws DebugException if the memory block cannot be disposed.
-	 */
-	public void dispose() throws DebugException;
-	
-	/**
-	 * Returns the origin of this memory block.
-	 * 
-	 * @return the origin of this memory block
-	 */
-	public IMemoryBlockRetrieval getMemoryBlockRetrieval();
-	
-	/**
-	 * Returns this memory block's addressable size in number of bytes. The addressable size
-	 * of memory block indicates the minimum number of bytes that can be retrieved as
-	 * a single unit.
-	 *  
-	 * @return this memory block's addressable size
-	 * @throws DebugException if the addressable size cannot be obtained.
-	 */
-	public int getAddressableSize() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
deleted file mode 100644
index 9253662..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * Supports the retrieval of arbitrary blocks of memory.
- * 
- * @see IMemoryBlock
- * @since 2.0
- */
-public interface IMemoryBlockRetrieval {
-	
-	/**
-	 * Returns whether this debug target supports the retrieval
-	 * of memory blocks.
-	 * 
-	 * @return whether this debug target supports the retrieval
-	 *  of memory blocks
-	 */
-	public boolean supportsStorageRetrieval();
-	
-	/**
-	 * Returns a memory block that starts at the specified
-	 * memory address, with the specified length.
-	 * 
-	 * @param startAddress starting address
-	 * @param length length of the memory block in bytes
-	 * @return a memory block that starts at the specified
-	 *  memory address, with the specified length
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This debug target does not support memory block retrieval</li>
-	 * <li>The specified address and length are not within valid
-	 *  ranges</li>
-	 * </ul>
-	 */
-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
deleted file mode 100644
index 4997a7f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-
-/**
- * Extended capabilites for memory block retrieval. Supports the retrival
- * of memory blocks based on an expression and context.
- * 
- * @since 3.1
- */
-public interface IMemoryBlockRetrievalExtension extends IMemoryBlockRetrieval {
-	
-	/**
-	 * Retrieves and returns a memory block. 
-	 * 
-	 * @param expression expression to be evalutated to an address
-	 * @param context context for evaluating the expression.  This is typically
-	 *  a debug element.
-	 * @return a memory block based on the given expression and context
-	 * @throws DebugException if unable to retrieve the specified memory
-	 */
-	
-	public IMemoryBlockExtension getExtendedMemoryBlock(String expression, Object context) throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
deleted file mode 100644
index 3f2f178..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source locator that can be persisted and restored,
- * to be used with a specfic launch configuration.
- * The debug plug-in defines a source locator extension
- * point for persistable source locators.
- * <p>
- * A source locator extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a source locator extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;
- *   &lt;sourceLocator 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleSourceLocator"
- *      name="Example Source Locator"&gt;
- *   &lt;/sourceLocator&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this source locator.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IPersistableSourceLocator</code>.</li>
- * <li><code>name</code> a human readable name, describing the type of
- *   this source locator.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see IStackFrame 
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @since 2.0
- */
-public interface IPersistableSourceLocator extends ISourceLocator {
-	
-	/**
-	 * Returns a memento that can be used to reconstruct
-	 * this source locator
-	 * 
-	 * @return a memento that can be used to reconstruct
-	 *  this source locator
-	 * @exception CoreException if unable to construct a memento
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Initializes this source locator based on the given
-	 * memento.
-	 * 
-	 * @param memento a memento to initialize this source locator
-	 * @exception CoreException on failure to initialize 
-	 */
-	public void initializeFromMemento(String memento) throws CoreException;
-	
-	/**
-	 * Initializes this source locator to perform default
-	 * source lookup for the given launch configuration.
-	 * 
-	 * @param configuration launch configuration this source locator
-	 *  will be performing souce lookup for
-	 * @exception CoreException on failure to initialize
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException;
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
deleted file mode 100644
index 7ce2452..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A process represents a program running in normal (non-debug) mode.
- * Processes support setting and getting of client defined attributes.
- * This way, clients can annotate a process with any extra information
- * important to them. For example, classpath annotations, or command
- * line arguments used to launch the process may be important to a client.
- * <p>
- * Clients may implement this interface, however, the debug plug-in
- * provides an implementation of this interface for a
- * <code>java.lang.Process</code>. 
- * </p>
- * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String)
- */
-public interface IProcess extends IAdaptable, ITerminate {
-	
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute is the command line a process was launched with.
-	 * 
-	 * @since 2.1
-	 */
-	public final static String ATTR_CMDLINE= DebugPlugin.getUniqueIdentifier() + ".ATTR_CMDLINE"; //$NON-NLS-1$
-	
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute is an identifier for the type of this process. Process types
-	 * are client defined - whoever creates a process may define its type. For
-	 * example, a process type could be "java", "javadoc", or "ant".
-	 *
-	 * @since 2.1
-	 */
-	public final static String ATTR_PROCESS_TYPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_TYPE"; //$NON-NLS-1$		
-
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute specifies an alternate dynamic label for a process, displayed by
-	 * the console.
-	 * 
-	 * @since 3.0
-	 */
-	public final static String ATTR_PROCESS_LABEL = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_LABEL"; //$NON-NLS-1$
-	
-	/**
-	 * Returns a human-readable label for this process.
-	 *
-	 * @return a label for this process
-	 */
-	public String getLabel();
-	/**
-	 * Returns the launch this element originated from.
-	 *
-	 * @return the launch this process is contained in
-	 */
-	public ILaunch getLaunch();
-	/**
-	 * Returns a proxy to the standard input, output, and error streams 
-	 * for this process, or <code>null</code> if not supported.
-	 *
-	 * @return a streams proxy, or <code>null</code> if not supported
-	 */
-	public IStreamsProxy getStreamsProxy();
-	
-	/**
-	 * Sets the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @param value the attribute value
-	 */
-	public void setAttribute(String key, String value);
-	
-	/**
-	 * Returns the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @return value the String attribute value, or <code>null</code> if undefined
-	 */
-	public String getAttribute(String key);
-	
-	/**
-	 * Returns the exit value of this process. Conventionally, 0 indicates
-	 * normal termination.
-	 * 
-	 * @return the exit value of this process
-	 * @exception DebugException if this process has not yet terminated
-	 */
-	public int getExitValue() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
deleted file mode 100644
index d3bd739..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register is a special kind of variable that is contained
- * in a register group. Each register has a name and a value.
- * Not all debug architectures provide access to registers.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRegister extends IVariable {
-	
-	/**
-	 * Returns the register group this register is contained in.
-	 * 
-	 * @return the register group this register is contained in
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegisterGroup getRegisterGroup() throws DebugException; 
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
deleted file mode 100644
index 528df35..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register group is a group of registers that are
- * assigned to a stack frame. Some debug architectures
- * provide access to registers, and registers are often
- * grouped logically. For example, a floating point
- * register group. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRegisterGroup extends IDebugElement {
-	
-
-	/**
-	 * Returns the name of this register group.
-	 * 
-	 * @return this register group's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the registers in this register group.
-	 * 
-	 * @return the registers in this register group
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegister[] getRegisters() throws DebugException;
-	
-	/**
-	 * Returns whether this register group currently contains any registers.
-	 * 
-	 * @return whether this register group currently contains any registers
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean hasRegisters() throws DebugException;	
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
deleted file mode 100644
index 6dda097..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.model.IStackFrame;
-
-/**
- * A source locator locates source elements for stack frames. A launch (optionally)
- * specifies a source locator which is
- * used to locate source for that debug session. If a launch does not
- * provide a source locator, source cannot be displayed.
- * Abstraction of source lookup allows clients to hide implementation
- * details of source location and representation.
- * <p>
- * Generally, an implementor of a debug model will also implement launch configuration types,
- * delegates, and source locators that work together as a whole. That is, the implementation
- * of a source locator will have knowledge of how to locate a source element
- * for a stack frame. For example, a Java stack frame could define API which
- * specifies a source file name. A Java source locator would use this information
- * to locate the associated file in the workspace.
- * </p>
- * <p>
- * Source is displayed by the debug UI plug-in. The debug UI uses a source locator
- * to resolve an object representing the source for a stack frame, and then uses
- * a debug model presentation to determine the editor and editor input to use to
- * display the actual source in an editor.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.model.IStackFrame 
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- */
-public interface ISourceLocator {
-	
-	/**
-	 * Returns a source element that corresponds to the given stack frame, or
-	 * <code>null</code> if a source element could not be located. The object returned
-	 * by this method will be used by the debug UI plug-in to display source.
-	 * The debug UI uses the debug model presentation associated
-	 * with the given stack frame's debug model to translate a source object into an
-	 * {editor input, editor id} pair in which to display source.
-	 * <p>
-	 * For example, a java source locator could return an object representing a
-	 * compilation unit or class file. The java debug model presentation would
-	 * then be responsible for providing an editor input and editor id for each
-	 * compilation unit and class file such that the debug UI could display source.
-	 * </p>
-	 *
-	 * @param stackFrame the stack frame for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(IStackFrame stackFrame);
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
deleted file mode 100644
index 72ee242..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A stack frame represents an execution context in a suspended thread.
- * A stack frame contains variables representing visible locals and arguments at
- * the current execution location. Minimally, a stack frame supports
- * the following:
- * <ul>
- * <li>suspend/resume (convenience to resume this stack frame's thread)
- * <li>stepping
- * <li>termination (convenience to terminate this stack frame's thread or debug target)
- * </ul>
- * <p>
- * A debug model implementation may choose to re-use or discard
- * stack frames on iterative thread suspensions. Clients
- * cannot assume that stack frames are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * A debug model implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if stack frames are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list. 
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStep
- * @see ISuspendResume
- * @see ITerminate
- */
-public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate {
-	/**
-	 * Returns the thread this stack frame is contained in.
-	 * 
-	 * @return thread
-	 * @since 2.0
-	 */
-	public IThread getThread();
-	/**
-	 * Returns the visible variables in this stack frame. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return collection of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame currently contains any visible variables.
-	 * 
-	 * @return whether this stack frame currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;
-		
-	/**
-	 * Returns the line number of the instruction pointer in 
-	 * this stack frame that corresponds to a line in an associated source
-	 * element, or <code>-1</code> if line number information
-	 * is unavailable.
-	 *
-	 * @return line number of instruction pointer in this stack frame, or 
-	 * <code>-1</code> if line number information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public int getLineNumber() throws DebugException;
-	
-	/**
-	 * Returns the index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharStart() throws DebugException;
-	
-	/**
-	 * Returns the index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharEnd() throws DebugException;	
-		
-	/**
-	 * Returns the name of this stack frame. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this frame's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the register groups assigned to this stack frame,
-	 * or an empty collection if no register groups are assigned
-	 * to this stack frame.
-	 * 
-	 * @return the register groups assigned to this stack frame
-	 *  or an empty collection if no register groups are assigned
-	 *  to this stack frame
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IRegisterGroup[] getRegisterGroups() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame contains any register groups.
-	 * 
-	 * @return whether this stack frame contains any visible register groups
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasRegisterGroups() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
deleted file mode 100644
index 009aaad..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to step into, over, and return
- * from the current execution location.  Implementations
- * must be non-blocking.
- * <p>
- * Implementations should honor step filter settings in their
- * associated debug target, as defined by <code>IStepFilters</code>.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStepFilters
- */
-public interface IStep {
-	/**
-	 * Returns whether this element can currently perform a step into.
-	 *
-	 * @return whether this element can currently perform a step into
-	 */
-	public boolean canStepInto();
-	/**
-	 * Returns whether this element can currently perform a step over.
-	 *
-	 * @return whether this element can currently perform a step over
-	 */
-	public boolean canStepOver();
-	/**
-	 * Returns whether this element can currently perform a step return.
-	 *
-	 * @return whether this element can currently perform a step return
-	 */
-	public boolean canStepReturn();
-	/**
-	 * Returns whether this element is currently stepping.
-	 * <p>
-	 * For example, a thread is considered to be stepping
-	 * after the <code>stepOver</code> call until the step over is completed,
-	 * a breakpoint is reached, an exception is thrown, or the thread or debug target is
-	 * terminated.
-	 * </p>
-	 *
-	 * @return whether this element is currently stepping
-	 */
-	public boolean isStepping();
-	/**
-	 * Steps into the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called
-	 * when the associated thread is suspended. Implementations must implement
-	 * stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepInto() throws DebugException;
-	/**
-	 * Steps over the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called
-	 * when the associated thread is suspended. Implementations must implement
-	 * stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepOver() throws DebugException;
-	/**
-	 * Steps to the next return statement in the current scope,
-	 * generating <code>RESUME</code> and <code>SUSPEND</code> events for
-	 * the associated thread. Can only be called when the associated thread is suspended.
-	 * Implementations must implement stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepReturn() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
deleted file mode 100644
index 330966f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * Support for step filters for a debug target. A debug target
- * that supports step filters should implement this interface.
- * Step filters can be toggled on/off for a debug target via
- * this interface. When a step method is called (see
- * <code>IStep</code>), the step implementation must respect
- * the state of the step filters as defined by this interface.
- * This allows step filters to be toggled on/off for
- * all stepping operations (in, over, return).
- * <p>
- * Step filter management is debug model specific - this interface
- * is used only to turn them on/off.
- * </p>
- * <p>
- * In 2.1, the <code>IFilteredStep</code> interface was used
- * to implement step filtering. The <code>IFilteredStep</code>
- * interface is now deprecated, and this inteface should be used
- * in its place to allow filters to be applied to any step
- * function.
- * </p>
- * <p>
- * Clients may implement this interface. Debug targets that support
- * step filters should implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStep
- * @since 3.0
- */
-public interface IStepFilters {
-	
-	/**
-	 * Returns whether this debug target supports step filters.
-	 *
-	 * @return whether this debug target supports step filters
-	 */
-	public boolean supportsStepFilters();
-	
-	/**
-	 * Returns whether step filters are currently enabled in this
-	 * debug target.
-	 * 
-	 * @return whether step filters are currently enabled in this
-	 * debug target
-	 */
-	public boolean isStepFiltersEnabled();
-	
-	/**
-	 * Sets whether step filters are enabled in this debug target.
-	 * 
-	 * @param enabled whether step filters are enabled in this debug target
-	 */
-	public void setStepFiltersEnabled(boolean enabled);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
deleted file mode 100644
index fdabfb2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.IStreamListener;
-
-/**
- * A stream monitor manages the contents of the stream a process
- * is writing to, and notifies registered listeners of changes in
- * the stream.
- * <p>
- * Clients may implement this interface. Generally, a client that
- * provides an implementation of the <code>IStreamsProxy</code>
- * interface must also provide an implementation of this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStreamsProxy
- * @see org.eclipse.debug.core.model.IFlushableStreamMonitor
- */
-public interface IStreamMonitor {
-	/**
-	 * Adds the given listener to this stream monitor's registered listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addListener(IStreamListener listener);
-	/**
-	 * Returns the entire current contents of the stream. An empty
-	 * String is returned if the stream is empty.
-	 *
-	 * @return the stream contents as a <code>String</code>
-	 */
-	public String getContents();
-	/**
-	 * Removes the given listener from this stream monitor's registered listeners.
-	 * Has no effect if the listener is not already registered.
-	 *
-	 * @param listener the listener to remove
-	 */
-	public void removeListener(IStreamListener listener);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
deleted file mode 100644
index 120e5e8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.io.IOException;
-
-/**
- * A streams proxy acts as proxy between the streams of a
- * process and interested clients. This abstraction allows
- * implementations of <code>IProcess</code> to handle I/O related
- * to the standard input, output, and error streams associated
- * with a process.
- * <p>
- * Clients implementing the <code>IProcess</code> interface must also
- * provide an implementation of this interface.
- * </p>
- * @see IProcess
- */
-public interface IStreamsProxy {
-	/**
-	 * Returns a monitor for the error stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the error stream of the
-	 * associated process.
-	 *
-	 * @return an error stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getErrorStreamMonitor();
-	/**
-	 * Returns a monitor for the output stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the output stream of the
-	 * associated process.
-	 *
-	 * @return an output stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getOutputStreamMonitor();
-	/**
-	 * Writes the given text to the output stream connected to the
-	 * standard input stream of this proxy's process.
-	 *
-	 * @param input the text to be written
-	 * @exception IOException when an error occurs writing to the 
-	 *		underlying <code>OutputStream</code>.
-	 *
-	 */
-	public void write(String input) throws IOException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
deleted file mode 100644
index d0294db..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.io.IOException;
-
-/**
- * Extension to a streams proxy that allows closing of the output stream
- * connected to the standard input stream of a proxy's process.
- * <p>
- * Clients should implement this interface, in addition to
- * <code>IStreamsProxy</code>, if interested closing the standard
- * input stream.
- * </p>
- * @since 3.1
- */
-public interface IStreamsProxy2 extends IStreamsProxy {
-
-    /**
-     * Closes the output stream connected to the standard input stream
-     * of this proxy's process.
-     * 
-     * @throws IOException if unable to close the stream
-     */
-    public void closeInputStream() throws IOException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
deleted file mode 100644
index 9ffe269..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to suspend and resume a thread
- * or debug target.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ISuspendResume {
-	/**
-	 * Returns whether this element can currently be resumed.
-	 *
-	 * @return whether this element can currently be resumed
-	 */
-	public boolean canResume();
-	/**
-	 * Returns whether this element can currently be suspended.
-	 *
-	 * @return whether this element can currently be suspended
-	 */
-	public boolean canSuspend();
-	/**
-	 * Returns whether this element is currently suspended.
-	 *
-	 * @return whether this element is currently suspended
-	 */
-	public boolean isSuspended();
-	/**
-	 * Causes this element to resume its execution, generating a <code>RESUME</code> event. 
-	 * Has no effect on an element that is not suspended. This call is non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void resume() throws DebugException;
-	/**
-	 * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event.
-	 * Has no effect on an already suspended element.
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void suspend() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
deleted file mode 100644
index 0c376aa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to terminate an execution
- * context - for example, a thread, debug target or process.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ITerminate {
-	/**
-	 * Returns whether this element can be terminated.
-	 *
-	 * @return whether this element can be terminated
-	 */
-	public boolean canTerminate();
-	/**
-	 * Returns whether this element is terminated.
-	 *
-	 * @return whether this element is terminated
-	 */
-	public boolean isTerminated();
-	/**
-	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.  
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void terminate() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
deleted file mode 100644
index 54f5667..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A thread is a sequential flow of execution in a debug target.
- * A thread contains stack frames.  Stack frames are only available when the
- * thread is suspended, and are returned in top-down order.
- * Minimally, a thread supports the following:
- * <ul>
- * <li>suspend/resume
- * <li>stepping
- * <li>terminate
- * </ul>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISuspendResume
- * @see IStep
- * @see ITerminate
- * @see IStackFrame
- */
-
-public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminate {
-	/**
-	 * Returns the stack frames contained in this thread. An
-	 * empty collection is returned if this thread contains
-	 * no stack frames, or is not currently suspended. Stack frames
-	 * are returned in top down order.
-	 * 
-	 * @return a collection of stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IStackFrame[] getStackFrames() throws DebugException;
-	
-	/**
-	 * Returns whether this thread currently contains any stack
-	 * frames.
-	 * 
-	 * @return whether this thread currently contains any stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasStackFrames() throws DebugException;
-	
-	/**
-	 * Returns the priority of this thread. The meaning of this
-	 * number is operating-system dependent.
-	 *
-	 * @return thread priority
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public int getPriority() throws DebugException;
-	/** 
-	 * Returns the top stack frame or <code>null</code> if there is
-	 * currently no top stack frame.
-	 *
-	 * @return the top stack frame, or <code>null</code> if none
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IStackFrame getTopStackFrame() throws DebugException;
-	/**
-	 * Returns the name of this thread. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this thread's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-
-	/**
-	 * Returns the breakpoints that caused this thread to suspend,
-	 * or an empty collection if this thread is not suspended or
-	 * was not suspended by a breakpoint. Usually a single breakpoint
-	 * will be returned, but this collection can contain more than
-	 * one breakpoint if two breakpoints are at the same location in
-	 * a program.
-	 *
-	 * @return the collection of breakpoints that caused this thread to suspend
-	 */
-	public IBreakpoint[] getBreakpoints();	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
deleted file mode 100644
index 89652fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A value represents the value of a variable.
- * A value representing a complex data structure contains variables.
- * <p>
- * An implementation may choose to re-use or discard
- * values on iterative thread suspensions. Clients
- * cannot assume that values are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * An implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if variables are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list or tree.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-
-
-public interface IValue extends IDebugElement {
-	
-	/**
-	 * Returns a description of the type of data this value contains
-	 * or references.
-	 * 
-	 * @return the name of this value's reference type
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getReferenceTypeName() throws DebugException;
-	
-	/**
-	 * Returns this value as a <code>String</code>.
-	 *
-	 * @return a String representation of this value
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getValueString() throws DebugException;
-		
-	/**
-	 * Returns whether this value is currently allocated.
-	 * <p>
-	 * For example, if this value represents
-	 * an object that has been garbage collected, <code>false</code> is returned.
-	 * </p>
-	 * @return whether this value is currently allocated
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean isAllocated() throws DebugException;
-	/**
-	 * Returns the visible variables in this value. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return an array of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this value currently contains any visible variables.
-	 * 
-	 * @return whether this value currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
deleted file mode 100644
index b426601..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to modify the value of a variable in
- * a target.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-public interface IValueModification {
-
-	/**
-	 * Attempts to set the value of this variable to the
-	 * value of the given expression.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void setValue(String expression) throws DebugException;
-	
-	/**
-	 * Sets the value of this variable to the given value.
-	 *
-	 * @param value a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public void setValue(IValue value) throws DebugException;	
-	
-	/**
-	 * Returns whether this variable supports value modification.
-	 *
-	 * @return whether this variable supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Returns whether the given expression is valid to be used in
-	 * setting a new value for this variable.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @return whether the expression is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public boolean verifyValue(String expression) throws DebugException;
-	
-	/**
-	 * Returns whether the given value can be used as
-	 * a new value for this variable.
-	 *
-	 * @param value a new value
-	 * @return whether the value is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean verifyValue(IValue value) throws DebugException;
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
deleted file mode 100644
index 05c8d83..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A variable represents a visible data structure in a stack frame
- * or value.
- * Each variable has a value which may in turn contain more variables.
- * A variable may support value modification.
- * <p>
- * An implementation may choose to re-use or discard
- * variables on iterative thread suspensions. Clients
- * cannot assume that variables are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * An implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if variables are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list or tree.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IValue
- * @see IStackFrame
- * @see IValueModification
- */
-public interface IVariable extends IDebugElement, IValueModification {
-	/**
-	 * Returns the value of this variable.
-	 * 
-	 * @return this variable's value
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IValue getValue() throws DebugException;
-	/**
-	 * Returns the name of this variable. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this variable's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;	
-	/**
-	 * Returns a description of the type of data this variable is
-	 * declared to reference. Note that the declared type of a
-	 * variable and the concrete type of its value are not neccessarily
-	 * the same.
-	 *
-	 * @return the declared type of this variable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getReferenceTypeName() throws DebugException;
-	
-	/** 
-	 * Returns whether this variable's value has changed since the last suspend event. 
-	 * Implementations may choose whether the last suspend event is the last suspend 
-	 * event in this variable's debug target, or within the thread(s) in which this variable 
-	 * is visible. 
-	 * <p>
-	 * Implementations that choose not to implement this function should always
-	 * return <code>false</code>.
-	 * </p>
-	 * 
-	 * @return whether this variable's value has changed since the last suspend event 
-	 * @exception DebugException if an exception occurs determining if this variable's 
-	 *   value has changed since the last suspend event 
-	 */ 
-	public boolean hasValueChanged() throws DebugException; 
-
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
deleted file mode 100644
index 6d02eeb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A watch expression is an expression that is evaluated in the context
- * of a specific stack frame, thread, debug target, process, or launch.
- * Generally, a watch expression is a snippet of code that is evaluated
- * each time a debug target suspends, or when a user provides a context
- * for an evaluation by selecting a debug target or thread. An expression
- * updates its value when it is provided with a context in which it
- * can perform an evaluation. 
- * <p>
- * Clients are not intended to implement this interface. An implementation
- * is provided by the debug platform. Clients that support watch expressions
- * should contribute and implement a watch exrepssion delegate. Watch
- * expressions can be created via the <code>IExpressionManager</code>.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @see org.eclipse.debug.core.IExpressionManager
- * @since 3.0
- */
-public interface IWatchExpression extends IErrorReportingExpression {
-	
-	/**
-	 * Updates this watch expression's value based on the current evaluation
-	 * context. This watch expression fires a debug change event when the
-	 * evaluation is complete. A watch expression can be asked to
-	 * evaluate even when it is disabled. Note that implementations should
-	 * generally be asynchronous to avoid blocking the calling thread. 
-	 */
-	public void evaluate();
-	/**
-	 * Sets the context for this watch expression, or <code>null</code> if none.
-	 * If the given context is valid for this expression, this expression may
-	 * update its value. When the value update is complete, a debug change event is
-	 * fired. When <code>null</code> is specified as a context, this expression
-	 * may choose to retain its previous value.
-	 * <p>
-	 * The context is usually one of (but not limited to):
-	 * <ul>
-	 * <li>a debug target (<code>IDebugTarget</code>)</li>
-	 * <li>a thread (<code>IThread</code>)</li>
-	 * <li>a stack frame (<code>IStackFrame</code>)</li>
-	 * </ul>
-	 * </p>
-	 *  
-	 * @param context context in which to update this expression's value, or
-	 * 	<code>null</code> if none
-	 */
-	public void setExpressionContext(IDebugElement context);
-	/**
-	 * Sets this watch expression's snippet of code. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param expressionText the snippet which will be evaluated
-	 */
-	public void setExpressionText(String expressionText);
-	/**
-	 * Returns whether the result of this watch expression is pending.
-	 * An expression is pending if an evaluation has been requested, but
-	 * the value has not yet been returned.
-	 * 
-	 * @return whether this expression's result is pending
-	 */
-	public boolean isPending();
-	/**
-	 * Returns whether this expression is enabled. An enabled expression will
-	 * update its value. A disabled expression will not.
-	 * 
-	 * @return whether this expression is enabled
-	 */
-	public boolean isEnabled();
-	/**
-	 * Sets this expression's enabled state. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param enabled whether this expression should be enabled
-	 */
-	public void setEnabled(boolean enabled);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
deleted file mode 100644
index ec662ec..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A delegate which computes the value of a watch expression
- * when provided a context. Watch delegates are provided on a
- * per debug model basis. Watch expressions query the appropriate
- * delegate based on the debug model of the context element.
- * Plug-ins that wish to contribute watch expression delegates may do so using the
- * <code>org.eclipse.debug.core.watchExpressionDelegates</code>
- * extension point.
- * <p>
- * For example, the following is the definition of a watch expression
- * delegate for the com.example.foo plug-in:
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.watchExpressionDelegates"&gt;
- *   &lt;watchExpressionDelegate
- *     debugModel="org.eclipse.jdt.debug"
- *     delegateClass="org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate"/&gt;
- *  &lt;/extension&gt;
- * </pre>
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpression
- * @see org.eclipse.debug.core.model.IWatchExpressionListener
- * 
- * @since 3.0
- */
-public interface IWatchExpressionDelegate {
-	
-	/**
-	 * Evaluates the given expression in the given context asynchronously and
-	 * notifies the given listener when the evaluation finishes.
-	 * 
-	 * @param expression the expression to evaluate 
-	 * @param context the context for the evaluation
-	 * @param listener the listener to notify when the evaluation completes
-	 */
-	public void evaluateExpression(String expression, IDebugElement context, IWatchExpressionListener listener);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
deleted file mode 100644
index 34007a9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A watch expression listener is notified when an
- * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>
- * completes an evaluation.
- * 
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @see org.eclipse.debug.core.model.IWatchExpressionResult
- * @since 3.0
- */
-public interface IWatchExpressionListener {
-
-	/**
-	 * Notifies the listener that an evaluation has completed.
-	 * 
-	 * @param result the result of the evaluation
-	 */
-	public void watchEvaluationFinished(IWatchExpressionResult result);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
deleted file mode 100644
index 26bfd77..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The result of an evaluation performed by an
- * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>.
- * A watch expression reports the value of the evaluation
- * and any errors or exceptions that occurred.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @since 3.0
- */
-public interface IWatchExpressionResult {
-	/**
-	 * Returns the value representing the result of the
-	 * evaluation, or <code>null</code> if the
-	 * associated evaluation failed. If
-	 * the associated evaluation failed, there will
-	 * be problems, or an exception in this result.
-	 *
-	 * @return the resulting value, possibly
-	 * <code>null</code>
-	 */
-	public IValue getValue();
-	
-	/**
-	 * Returns whether the evaluation had any problems
-	 * or if an exception occurred while performing the
-	 * evaluation.
-	 *
-	 * @return whether there were any problems.
-	 * @see #getErrorMessages()
-	 * @see #getException()
-	 */
-	public boolean hasErrors();
-		
-	/**
-	 * Returns an array of problem messages. Each message describes a problem that
-	 * occurred while compiling the snippet.
-	 *
-	 * @return evaluation error messages, or an empty array if no errors occurred
-	 */
-	public String[] getErrorMessages();
-		
-	/**
-	 * Returns the expression that was evaluated.
-	 *
-	 * @return The string expression.
-	 */
-	public String getExpressionText();
-	
-	/**
-	 * Returns any exception that occurred while performing the evaluation
-	 * or <code>null</code> if an exception did not occur.
-	 * The exception will be a debug exception or a debug exception
-	 * that wrappers a debug model specific exception that indicates a problem communicating
-	 * with the target or with actually performing some action in the target.
-	 *
-	 * @return The exception that occurred during the evaluation
-	 * @see org.eclipse.debug.core.DebugException
-	 */
-	public DebugException getException();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
deleted file mode 100644
index bb356fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A breakpoint that suspends when an associated variable is
- * read or written.
- * <p>
- * Clients may implement this interface. Clients are not required to 
- * implement this interface to implement watchpoints, but those that do inherit
- * default rendering of images for watchpoints from the debug platform's
- * default label provider and actions to toggle access and modification
- * properties of a watchpoint.
- * </p>
- * @since 3.1
- */
-public interface IWatchpoint extends IBreakpoint {
-	/**
-	 * Returns whether this watchpoint will suspend execution when its associated
-	 * variable is accessed (read).
-	 * 
-	 * @return whether this is an access watchpoint
-	 * @exception CoreException if unable to access the property
-	 * 	on this breakpoint's underlying marker
-	 */	
-	public boolean isAccess() throws CoreException;
-	/**
-	 * Sets whether this breakpoint will suspend execution when its associated
-	 * variable is accessed.
-	 * 
-	 * @param access whether to suspend on access
-	 * @exception CoreException if unable to set the property on this breakpoint's
-	 *  underlying marker or if the capability is not supported
-	 */
-	public void setAccess(boolean access) throws CoreException;
-	/**
-	 * Returns whether this watchpoint will suspend execution when its associated
-	 * variable is written.
-	 * 
-	 * @return whether this is a modification watchpoint
-	 * @exception CoreException if unable to access the property
-	 * 	on this breakpoint's underlying marker
-	 */	
-	public boolean isModification() throws CoreException;
-	/**
-	 * Sets whether this breakpoint will suspend execution when its associated
-	 * variable is modified.
-	 * 
-	 * @param modification whether to suspend on modification
-	 * @exception CoreException if unable to set the property on
-	 * 	this breakpoint's underlying marker or if the capability is not supported
-	 */
-	public void setModification(boolean modification) throws CoreException;
-	/**
-	 * Returns whether this breakpoints supports the capability to suspend
-	 * when an associated variable is read.
-	 * 
-	 * @return whether this breakpoints supports the capability to suspend
-	 * when an associated variable is read
-	 */
-	public boolean supportsAccess();
-	/**
-	 * Returns whether this breakpoints supports the ability to suspend
-	 * when an associated variable is written.
-	 * 
-	 * @return whether this breakpoints supports the ability to suspend
-	 * when an associated variable is written
-	 */	
-	public boolean supportsModification();
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
deleted file mode 100644
index 9eedd68..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Default implementation of a launch configuration delegate. Provides
- * convenience methods for computing the build order of projects,
- * building projects, and searching for errors in the workspace. The
- * default pre-launch check prompts the user to launch in debug mode
- * if breakpoints are present in the workspace. 
- * <p>
- * Clients implementing launch configration delegates should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class LaunchConfigurationDelegate implements ILaunchConfigurationDelegate2 {
-	
-	/**
-	 * Status code for which a UI prompter is registered.
-	 */
-	protected static final IStatus promptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if they
-	 * want to launch in debug mode when breakpoints are present.
-	 */
-	protected static final IStatus switchToDebugPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 201, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if the
-	 * want to continue launch despite existing compile errors
-	 */
-	protected static final IStatus complileErrorPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 202, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if the
-	 * want to continue launch despite existing compile errors in specific
-	 * projects. This enhances the 'compileErrorPromptStatus' by specifying
-	 * which projects the errors exist in.
-	 * 
-	 * @since 3.1
-	 */
-	protected static final IStatus complileErrorProjectPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 203, "", null); //$NON-NLS-1$ //$NON-NLS-2$	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IProject[] projects = getBuildOrder(configuration, mode);
-		if (projects == null) {
-			return true;
-		} 
-		buildProjects(projects, monitor);
-		return false;
-	}
-	
-	/**
-	 * Returns the projects to build before launching the given launch configuration
-	 * or <code>null</code> if the entire workspace should be built incrementally.
-	 * Subclasses should override as required.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @return projects to build, in build order, or <code>null</code>
-	 * @throws CoreException if an exception occurrs
-	 */
-	protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/**
-	 * Returns the set of projects to use when searching for errors or <code>null</code> 
-	 * if no search is to be done.  
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @return a list of projects or <code>null</code>
-	 * @throws CoreException if an exception occurrs
-	 */
-	protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#finalLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IProject[] projects = getProjectsForProblemSearch(configuration, mode);
-		if (projects == null) {
-			return true; //continue launch
-		}
-		boolean continueLaunch = true;
-			
-		monitor.subTask(DebugCoreMessages.LaunchConfigurationDelegate_6); //$NON-NLS-1$
-		List errors = new ArrayList();
-		for (int i = 0; i < projects.length; i++) {
-			monitor.subTask(MessageFormat.format(DebugCoreMessages.LaunchConfigurationDelegate_7, new String[]{projects[i].getName()})); //$NON-NLS-1$
-			if (existsProblems(projects[i])) {
-				errors.add(projects[i]);
-			}	
-		}	
-		if (!errors.isEmpty()) {
-			errors.add(0, configuration);
-			IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-			if (prompter != null) {
-				continueLaunch = ((Boolean) prompter.handleStatus(complileErrorProjectPromptStatus, errors)).booleanValue();
-			}
-		}
-			
-		return continueLaunch;
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * If launching in run mode, and the configuration supports debug mode, check
-	 * if there are any breakpoints in the workspace, and ask the user if they'd
-	 * rather launch in debug mode.
-	 * 
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		if (mode.equals(ILaunchManager.RUN_MODE)  && configuration.supportsMode(ILaunchManager.DEBUG_MODE)) {
-			IBreakpoint[] breakpoints= getBreakpoints(configuration);
-            if (breakpoints == null) {
-                return true;
-            }
-			for (int i = 0; i < breakpoints.length; i++) {
-				if (breakpoints[i].isEnabled()) {
-					IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-					if (prompter != null) {
-						boolean launchInDebugModeInstead = ((Boolean)prompter.handleStatus(switchToDebugPromptStatus, configuration)).booleanValue();
-						if (launchInDebugModeInstead) { 
-							return false; //kill this launch
-						} 
-					}
-					// if no user prompt, or user says to continue (no need to check other breakpoints)
-					return true;
-				}
-			}
-		}	
-		// no enabled breakpoints... continue launch
-		return true;
-	}
-
-    /**
-     * Returns the breakpoint collection that is relevant for this launch delegate.
-     * By default this is all the breakpoints registered with the Debug breakpoint manager.
-     * 
-     * @since 3.1
-     * @return the breakpoints that are relevant for this launch delegate
-     */ 
-    protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration) {
-        IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-        if (!breakpointManager.isEnabled()) {
-            // no need to check breakpoints individually.
-            return null;
-        }
-        return breakpointManager.getBreakpoints();
-    }
-	
-	/**
-	 * Returns an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * and all of their referenced projects.
-	 *  
-	 * @param baseProjects a collection of projetcs
-	 * @return an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected IProject[] computeReferencedBuildOrder(IProject[] baseProjects) throws CoreException {
-		HashSet unorderedProjects = new HashSet();
-		for(int i = 0; i< baseProjects.length; i++) {
-			unorderedProjects.add(baseProjects[i]);
-			addReferencedProjects(baseProjects[i], unorderedProjects);
-		}
-		IProject[] projectSet = (IProject[]) unorderedProjects.toArray(new IProject[unorderedProjects.size()]);
-		return computeBuildOrder(projectSet);
-	}
-	
-	
-	/**
-	 * Adds all projects referenced by <code>project</code> to the given
-	 * set.
-	 * 
-	 * @param project project
-	 * @param references set to which referenced projects are added
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected void addReferencedProjects(IProject project, Set references) throws CoreException{
-		if (project.isOpen()) {
-			IProject[] projects = project.getReferencedProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject refProject= projects[i];
-				if (refProject.exists() && !references.contains(refProject)) {
-					references.add(refProject);
-					addReferencedProjects(refProject, references);
-				}
-			}		
-		}
-	}
-	
-	/**  
-	 * Returns a list of projects in their suggested build order from the
-	 * given unordered list of projects.
-	 * 
-	 * @param projects the list of projects to sort into build order
-	 * @return a new array containing all projects from <code>projects</code> sorted
-	 *   according to their build order.
-	 */
-	protected IProject[] computeBuildOrder(IProject[] projects) { 
-		String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription().getBuildOrder();
-		if (orderedNames != null) {
-			List orderedProjects = new ArrayList(projects.length);
-			//Projects may not be in the build order but should be built if selected
-			List unorderedProjects = new ArrayList(projects.length);
-			for(int i = 0; i < projects.length; ++i) {
-				unorderedProjects.add(projects[i]);
-			}
-			
-			for (int i = 0; i < orderedNames.length; i++) {
-				String projectName = orderedNames[i];
-				for (Iterator iterator = unorderedProjects.iterator(); iterator.hasNext(); ) {
-					IProject project = (IProject)iterator.next();
-					if (project.getName().equals(projectName)) {
-						orderedProjects.add(project);
-						iterator.remove();
-						break;
-					}
-				}
-			}
-			//Add anything not specified before we return
-			orderedProjects.addAll(unorderedProjects);
-			return (IProject[]) orderedProjects.toArray(new IProject[orderedProjects.size()]);
-		}
-		
-		// Computing build order returned null, try the project prerequisite order
-		IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace().computeProjectOrder(projects);
-		return po.projects;
-	}	
-	
-	/**
-	 * Returns whether the given project contains any problem markers of the
-	 * specified severity.
-	 * 
-	 * @param proj the project to search
-	 * @return whether the given project contains any problems that should
-	 *  stop it from launching
-	 * @throws CoreException if an error occurs while searching for
-	 *  problem markers
-	 */
-	protected boolean existsProblems(IProject proj) throws CoreException {
-		IMarker[] markers = proj.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
-		if (markers.length > 0) {
-			for (int i = 0; i < markers.length; i++) {
-				if (isLaunchProblem(markers[i])) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given problem should potentially abort the launch.
-	 * By default if the problem has an error severity, the problem is considered
-	 * a potential launch problem. Subclasses may override to specialize error
-	 * detection.
-	 * 
-	 * @param problemMarker candidate problem
-	 * @return whether the given problem should potentially abort the launch
-	 * @throws CoreException if any exceptions occurr while accessing marker attributes
-	 */
-	protected boolean isLaunchProblem(IMarker problemMarker) throws CoreException {
-		Integer severity = (Integer)problemMarker.getAttribute(IMarker.SEVERITY);
-		if (severity != null) {
-			return severity.intValue() >= IMarker.SEVERITY_ERROR;
-		} 
-		
-		return false;
-	}
-	
-	/**
-	 * Performs an incremental build on each of the given projects.
-	 * 
-	 * @param projects projects to build
-	 * @param monitor progress monitor
-	 * @throws CoreException if an exception occurrs while building
-	 */
-	protected void buildProjects(IProject[] projects, IProgressMonitor monitor) throws CoreException {
-		for (int i = 0; i < projects.length; i++ ) {
-			projects[i].build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
deleted file mode 100644
index 94f04ba..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * Abstract implementation of a line breakpoint. This class is
- * intended to be subclassed by debug model specific implementations
- * of line breakpoints.
- * 
- * @see ILineBreakpoint
- */
-
-public abstract class LineBreakpoint extends Breakpoint implements ILineBreakpoint {
-	
-
-	/**
-	 * @see ILineBreakpoint#getLineNumber()
-	 */
-	public int getLineNumber() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.LINE_NUMBER, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharStart()
-	 */
-	public int getCharStart() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_START, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharEnd()
-	 */
-	public int getCharEnd() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_END, -1);
-		}
-		return -1;
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
deleted file mode 100644
index 4ccea80..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-/**
- * A byte of memory in a meomry block. Each byte of memory has a value and
- * attributes indicating if the byte is read-only, valid, or if its value has
- * changed.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class to 
- * add other attributes to a memory byte, as required.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.model.IMemoryBlockExtension
- */
-public class MemoryByte {
-	
-    /**
-     * Bit mask used to indicate a byte is writable.
-     */
-	public static final byte	WRITABLE	= 0x01;
-	
-	/**
-	 * Bit mask used to indicate a byte is readable.
-	 * A memory byte is readable when its value and attributes are retrievable.
-	 * Otherwise, a byte is considered non-readable.
-	 */
-	public static final byte	READABLE		= 0x02;
-	
-	/**
-	 * Bit mask used to indicate a byte has changed since the last
-	 * suspend event.
-	 * 
-	 * @see org.eclipse.debug.core.DebugEvent#SUSPEND
-	 */
-	public static final byte	CHANGED		= 0x04;
-	
-	/**
-	 * Bit mask used to indicate a memory byte has history to
-	 * determine if its value has changed. When a memory byte's
-	 * history is unknown, the change state has no meaning.
-	 */
-	public static final byte 	HISTORY_KNOWN		= 0x08;
-	
-	/**
-	 * Bit mask used to indicate a this byte of memory
-	 * is big endian.  If this byte of memory is little endian,
-	 * turn this bit mask to off.
-	 */
-	public static final byte	BIG_ENDIAN	= 0x10;
-	
-	/**
-	 * Bit mask used to indicate that the endianess of this byte
-	 * of memory is known.  When a memory byte's endianess is
-	 * unknown, the endianess of this byte has no meaning.  
-	 */
-	public static final byte	ENDIANESS_KNOWN = 0x20;
-	
-	/**
-	 * Value of this byte.
-	 */
-	protected byte value;
-	
-	/**
-	 * Attribute flags.
-	 * <p>
-	 * To specify READABLE:  flags |= MemoryByte.READABLE;
-	 * To specify WRITABLE:  flags |= MemoryByte.WRITABLE;
-	 * </p>
-	 */
-	protected byte flags;
-	
-	/**
-	 * Constructs a readable, writable memory byte without a change history,
-	 * and a value of 0.  The byte's endianess is known and is little endian
-	 * by default.
-	 */
-	public MemoryByte() {
-	    this((byte)0, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
-	}
-	
-	/**
-	 * Constructs a readable, writable memory byte without a change history,
-	 * with the given value.  The byte's endianess is known and is little endian
-	 * by default.  
-	 * 
-	 * @param byteValue value of this memory byte
-	 * 
-	 */
-	public MemoryByte(byte byteValue) {
-	    this(byteValue, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
-	}
-	
-	/**
-	 * Constructs a memory byte with the given value and attributes.
-	 * 
-	 * @param byteValue value of this memory byte
-	 * @param byteFlags attributes of the byte specified as a bit mask 
-	 */
-	public MemoryByte(byte byteValue, byte byteFlags) {		
-		value = byteValue;
-		flags = byteFlags;
-	}
-
-	/**
-	 * Returns this memory byte's attribute as a bit mask.
-	 * 
-	 * @return this memory byte's attribute as a bit mask
-	 */
-	public byte getFlags() {
-		return flags;
-	}
-	/**
-	 * Sets this memory byte's attributes based on the given bit mask.
-	 * 
-	 * @param flags bit mask of attributes
-	 */
-	public void setFlags(byte flags) {
-		this.flags = flags;
-	}
-
-	/**
-	 * Returns the value of this memory byte.
-	 * 
-	 * @return the value of this memory byte
-	 */
-	public byte getValue() {
-		return value;
-	}
-	
-	/**
-	 * Sets the value of this memory byte.
-	 * 
-	 * @param value the new value of this memory byte
-	 */
-	public void setValue(byte value) {
-		this.value = value;
-	}
-	
-	/**
-	 * Sets whether this memory byte is readable. A memory byte
-	 * is considered readable when its value and attributes are
-	 * retrievable.
-	 * 
-	 * @param readable whether this memory byte is readable
-	 */
-	public void setReadable(boolean readable) {
-		flags |= MemoryByte.READABLE;
-		if (!readable)
-			flags ^= MemoryByte.READABLE;
-	}
-	
-	/**
-	 * Returns whether this memory byte is readable. A memory byte
-	 * is considered readable when its value and attributes are
-	 * retrievable.
-	 * 
-	 * @return whether this memory byte is readable
-	 */
-	public boolean isReadable() {
-		return ((flags & MemoryByte.READABLE) == MemoryByte.READABLE);
-	}
-	
-	/**
-	 * Sets whether this memory byte is writable.
-	 * 
-	 * @param writable whether this memory byte is writable.
-	 */
-	public void setWritable(boolean writable) {
-		flags |= MemoryByte.WRITABLE;
-		if (!writable)
-			flags ^= MemoryByte.WRITABLE;
-	}
-	
-	/**
-	 * Returns whether this memory byte is writable.
-	 * 
-	 * @return whether this memory byte is writable
-	 */
-	public boolean isWritable() {
-		return ((flags & MemoryByte.WRITABLE) == MemoryByte.WRITABLE);
-	}
-	
-	/**
-	 * Sets whether this memory byte has changed.
-	 * 
-	 * @param changed whether this memory byte has changed
-	 */
-	public void setChanged(boolean changed) {
-		flags |= MemoryByte.CHANGED;
-		if (!changed)
-			flags ^= MemoryByte.CHANGED;
-	}
-	
-	/**
-	 * Returns whether this memory byte has changed.
-	 * 
-	 * @return whether this memory byte has changed
-	 */
-	public boolean isChanged() {
-		return ((flags & MemoryByte.CHANGED) == MemoryByte.CHANGED);
-	}
-	
-	/**
-	 * Sets whether the history of this byte is known. When history
-	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
-	 * @param known whether the change state of this byte is known
-	 */
-	public void setHistoryKnown(boolean known) {
-		flags |= MemoryByte.HISTORY_KNOWN;
-		if (!known)
-			flags ^= MemoryByte.HISTORY_KNOWN;
-	}
-	
-	/**
-	 * Returns whether the history of this byte is known. When history
-	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
-	 * @return whether the change state of this byte is known
-	 */
-	public boolean isHistoryKnown() {
-		return ((flags & MemoryByte.HISTORY_KNOWN) == MemoryByte.HISTORY_KNOWN);
-	}
-	
-	/**
-	 * Sets whether this byte of memory is big endian.
-	 * 
-	 * @param isBigEndian whether the byte of memory is big endian.
-	 */
-	public void setBigEndian(boolean isBigEndian)
-	{
-		flags |= MemoryByte.BIG_ENDIAN;
-		if (!isBigEndian)
-			flags ^= MemoryByte.BIG_ENDIAN;
-	}
-	
-	/**
-	 * Returns whether this byte of memory is big endian.
-	 * 
-	 * @return whether the byte of memory is big endian.
-	 */
-	public boolean isBigEndian()
-	{
-		return ((flags & MemoryByte.BIG_ENDIAN) == MemoryByte.BIG_ENDIAN);
-	}
-	
-	/**
-	 * Sets whether the endianess of this byte of memory is known.
-	 * If the endianess is unknown, the endianess of this byte
-	 * has no meaning. 
-	 * 
-	 * @param isEndianessKnown whether the endianess of this byte is known.
-	 */
-	public void setEndianessKnown(boolean isEndianessKnown)
-	{
-		flags |= MemoryByte.ENDIANESS_KNOWN;
-		if (!isEndianessKnown)
-			flags ^= MemoryByte.ENDIANESS_KNOWN;
-	}
-	
-	/**
-	 * Returns whether the endianess of this byte of memory is known.
-	 * If the endianess is unknown, the endianess of this byte
-	 * has no meaning.
-	 *  
-	 * @return whether the endianess of this byte of memory is known.
-	 */
-	public boolean isEndianessKnown()
-	{
-		return ((flags & MemoryByte.ENDIANESS_KNOWN) == MemoryByte.ENDIANESS_KNOWN);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
deleted file mode 100644
index 0ba58c5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.NullStreamsProxy;
-import org.eclipse.debug.internal.core.StreamsProxy;
-
-
-/**
- * Standard implementation of an <code>IProcess</code> that wrappers a system
- * process (<code>java.lang.Process</code>).
- * <p>
- * Clients may subclass this class. Clients that need to replace the implementation
- * of a streams proxy associatd with an <code>IProcess</code> should subclass this
- * class. Generally clients should not instantiate this class directly, but should
- * instead call <code>DebugPlugin.newProcess(...)</code>, which can delegate to an 
- * <code>IProcessFactory</code> if one is referenced by the associated launch configuration.
- * </p>
- * @see org.eclipse.debug.core.model.IProcess
- * @see org.eclipse.debug.core.IProcessFactory
- * @since 3.0
- */
-public class RuntimeProcess extends PlatformObject implements IProcess {
-
-	private static final int MAX_WAIT_FOR_DEATH_ATTEMPTS = 10;
-	private static final int TIME_TO_WAIT_FOR_THREAD_DEATH = 500; // ms
-	
-	/**
-	 * The launch this process is contained in
-	 */
-	private ILaunch fLaunch;
-	
-	/**
-	 * The system process represented by this <code>IProcess</code>
-	 */
-	private Process fProcess;
-	
-	/**
-	 * This process's exit value
-	 */
-	private int fExitValue;
-	
-	/**
-	 * The monitor which listens for this runtime process' system process
-	 * to terminate.
-	 */
-	private ProcessMonitorThread fMonitor;
-	
-	/**
-	 * The streams proxy for this process
-	 */
-	private IStreamsProxy fStreamsProxy;
-
-	/**
-	 * The name of the process
-	 */
-	private String fName;
-
-	/**
-	 * Whether this process has been terminated
-	 */
-	private boolean fTerminated;
-	
-	/**
-	 * Table of client defined attributes
-	 */
-	private Map fAttributes;
-	
-	/**
-	 * Whether output from the process should be captured or swallowed
-	 */
-	private boolean fCaptureOutput = true;
-
-	/**
-	 * Constructs a RuntimeProcess on the given system process
-	 * with the given name, adding this process to the given
-	 * launch.
-	 * 
-	 * @param launch the launch this process will be parented by
-	 * @param process underlyig system process
-	 * @param name the label used for this process
-	 * @param attributes map of attributes used to initialize the attributes
-	 *   of this process, or <code>null</code> if none
-	 */
-	public RuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
-		setLaunch(launch);
-		initializeAttributes(attributes);
-		fProcess= process;
-		fName= name;
-		fTerminated= true;
-		try {
-			process.exitValue();
-		} catch (IllegalThreadStateException e) {
-			fTerminated= false;
-		}
-		
-		String captureOutput = launch.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT);
-		fCaptureOutput = !("false".equals(captureOutput)); //$NON-NLS-1$
-		
-		fStreamsProxy= createStreamsProxy();
-		fMonitor = new ProcessMonitorThread(this);
-		fMonitor.start();
-		launch.addProcess(this);
-		fireCreationEvent();
-	}
-
-	/**
-	 * Initialize the attributes of this process to those in the given map.
-	 * 
-	 * @param attributes attribute map or <code>null</code> if none
-	 */
-	private void initializeAttributes(Map attributes) {
-		if (attributes != null) {
-			Iterator keys = attributes.keySet().iterator();
-			while (keys.hasNext()) {
-				String key = (String)keys.next();
-				setAttribute(key, (String)attributes.get(key));
-			}	
-		}
-	}
-
-	/**
-	 * @see ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !fTerminated;
-	}
-
-	/**
-	 * @see IProcess#getLabel()
-	 */
-	public String getLabel() {
-		return fName;
-	}
-	
-	/**
-	 * Sets the launch this process is contained in
-	 * 
-	 * @param launch the launch this process is contained in
-	 */
-	protected void setLaunch(ILaunch launch) {
-		fLaunch = launch;
-	}
-
-	/**
-	 * @see IProcess#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-
-	/**
-	 * Returns the underlying system process associated with this process.
-	 * 
-	 * @return system process
-	 */
-	protected Process getSystemProcess() {
-		return fProcess;
-	}
-
-	/**
-	 * @see ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return fTerminated;
-	}
-
-	/**
-	 * @see ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		if (!isTerminated()) {			
-			if (fStreamsProxy instanceof StreamsProxy) {
-				((StreamsProxy)fStreamsProxy).kill();
-			}
-			Process process = getSystemProcess();
-			if (process != null) {
-			    process.destroy();
-			}
-			int attempts = 0;
-			while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {
-				try {
-				    process = getSystemProcess();
-					if (process != null) {
-						fExitValue = process.exitValue(); // throws exception if process not exited
-					}
-					return;
-				} catch (IllegalThreadStateException ie) {
-				}
-				try {
-					Thread.sleep(TIME_TO_WAIT_FOR_THREAD_DEATH);
-				} catch (InterruptedException e) {
-				}
-				attempts++;
-			}
-			// clean-up
-			if (fMonitor != null) {
-				fMonitor.killThread();
-				fMonitor = null;
-			}
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_terminate_failed, null);		 //$NON-NLS-1$
-			throw new DebugException(status);
-		}
-	}
-
-	/**
-	 * Notification that the system process associated with this process
-	 * has terminated.
-	 */
-	protected void terminated() {
-		if (fStreamsProxy instanceof StreamsProxy) {
-			((StreamsProxy)fStreamsProxy).close();
-		}
-		fTerminated= true;
-		try {
-			fExitValue = fProcess.exitValue();
-		} catch (IllegalThreadStateException ie) {
-		}
-		fProcess= null;
-		fireTerminateEvent();
-	}
-		
-	/**
-	 * @see IProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-	    if (!fCaptureOutput) {
-	        return null;
-	    }
-		return fStreamsProxy;
-	}
-	
-	/**
-	 * Returns the streams proxy associated with this process.
-	 * 
-	 * @return streams proxy
-	 */
-	protected IStreamsProxy createStreamsProxy() {
-	    if (!fCaptureOutput) {
-	        return new NullStreamsProxy(getSystemProcess());
-	    }
-	    
-		return new StreamsProxy(getSystemProcess());
-	}
-	
-	/**
-	 * Fires a creation event.
-	 */
-	protected void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-
-	/**
-	 * Fires the given debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	protected void fireEvent(DebugEvent event) {
-		DebugPlugin manager= DebugPlugin.getDefault();
-		if (manager != null) {
-			manager.fireDebugEventSet(new DebugEvent[]{event});
-		}
-	}
-
-	/**
-	 * Fires a terminate event.
-	 */
-	protected void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}
-
-	/**
-	 * Fires a change event.
-	 */	
-	protected void fireChangeEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE));
-	}
-
-	/**
-	 * @see IProcess#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		Object origVal = fAttributes.get(key);
-		if (origVal != null && origVal.equals(value)) {
-			return; //nothing changed.
-		}
-		
-		fAttributes.put(key, value);
-		fireChangeEvent();
-	}
-	
-	/**
-	 * @see IProcess#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IProcess.class)) {
-			return this;
-		}
-		if (adapter.equals(IDebugTarget.class)) {
-			ILaunch launch = getLaunch();
-			IDebugTarget[] targets = launch.getDebugTargets();
-			for (int i = 0; i < targets.length; i++) {
-				if (this.equals(targets[i].getProcess())) {
-					return targets[i];
-				}
-			}
-			return null;
-		}
-		return super.getAdapter(adapter);
-	}
-	/**
-	 * @see IProcess#getExitValue()
-	 */
-	public int getExitValue() throws DebugException {
-		if (isTerminated()) {
-			return fExitValue;
-		} 
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_Exit_value_not_available_until_process_terminates__1, null)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Monitors a system process, waiting for it to terminate, and
-	 * then notifies the associated runtime process.
-	 */
-	class ProcessMonitorThread extends Thread {
-		
-		/**
-		 * Whether the thread has been told to exit.
-		 */
-		protected boolean fExit;
-		/**
-		 * The underlying <code>java.lang.Process</code> being monitored.
-		 */
-		protected Process fOSProcess;	
-		/**
-		 * The <code>IProcess</code> which will be informed when this
-		 * monitor detects that the underlying process has terminated.
-		 */
-		protected RuntimeProcess fRuntimeProcess;
-
-		/**
-		 * The <code>Thread</code> which is monitoring the underlying process.
-		 */
-		protected Thread fThread;
-		
-		/**
-		 * A lock protecting access to <code>fThread</code>.
-		 */
-		private final Object fThreadLock = new Object();
-
-		/**
-		 * @see Thread#run()
-		 */
-		public void run() {
-			synchronized (fThreadLock) {
-				if (fExit) {
-					return;
-				}
-				fThread = Thread.currentThread();
-			}
-			while (fOSProcess != null) {
-				try {
-					fOSProcess.waitFor();
-				} catch (InterruptedException ie) {
-					// clear interrupted state
-					Thread.interrupted();
-				} finally {
-					fOSProcess = null;
-					fRuntimeProcess.terminated();
-				}
-			}
-			fThread = null;
-		}
-
-		/**
-		 * Creates a new process monitor and starts monitoring the process for
-		 * termination.
-		 */
-		public ProcessMonitorThread(RuntimeProcess process) {
-			super(DebugCoreMessages.ProcessMonitorJob_0); //$NON-NLS-1$
-			setDaemon(true);
-			fRuntimeProcess= process;
-			fOSProcess= process.getSystemProcess();
-		}
-
-		/**
-		 * Kills the monitoring thread.
-		 * 
-		 * This method is to be useful for dealing with the error
-		 * case of an underlying process which has not informed this
-		 * monitor of its termination.
-		 */
-		protected void killThread() {
-			synchronized (fThreadLock) {
-				if (fThread == null) {
-					fExit = true;
-				} else {
-					fThread.interrupt();
-				}
-			}
-		}
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 6192e28..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,146 +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>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for debug model elements, source lookup, and launching.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces known as the &quot;debug model&quot; 
-  which support an extensible set of debug architectures and languages. The debug 
-  model is a set of interfaces representing common artifacts in debuggable programs. 
-  The debug plug-in itself does not provide an implementation of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Debug Model</h4>
-
-<p>A client implements a debug model by
-providing an implementation of the interfaces defined in this package. (There is no explicit
-extension point that represents a debug model). Each debug model provides one or more
-launch configuration types capable of initiating a debug session.</p>
-
-<p>The common elements defined by the debug model are: 
-
-<ul>
-  <li>Debug Target - A debug target represents a debuggable program - for example, a virtual
-    machine or a process.</li>
-  <li>Thread - A debug target may contain one or more threads.</li>
-  <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>
-  <li>Variable - A stack frame may contain variables.</li>
-  <li>Value - Each variable has an associated value, and a value may contain more variables (to
-  	represent complex data structures and objects).</li>
-  <li>Register Group - A stack frame may (optionally) be associated with one or more register
-    groups.</li>
-  <li>Register - A register group contains one or more registers.</li>
-  <li>Memory Blocks - A debug target may (optionally) support the retrieval of
-    arbitrary contiguous segments of memory.</li>
-  <li>Breakpoint - Breakpoints suspend the execution of a program.</li>
-  <li>Expression -  An expression is a snippet of code that can be evaluated to
-  	produce a value.</li>
-</ul>
-
-<p>A debug model implementation is responsible for firing debug events. A debug event
-corresponds to an event in a program being debugged - for example the creation or
-termination of a thread.</p>
-
-<h4>Breakpoints</h4>
-
-<p>Breakpoints are used to suspend the execution of a program being debugged. There are
-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count
-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug
-architecture, and the information required to create those breakpoints
-is dictated by each debug architecture. The debug platform supports an extensible
-set of breakpoint via the breakpoints extension point.</p>
-
-<p>The debug platform provides a breakpoint manager that maintains the collection 
-  of all registered breakpoints. Clients add and remove breakpoints via this manager. 
-  Breakpoints are implemented by instances of <b>IBreakpoint</b>. Each breakpoint 
-  object has an associated marker, which provides persistence and presentation 
-  in editors. The debug platform defines a generic breakpoint and line breakpoint, 
-  as well as their corresponding marker definitions. Breakpoint creation is a 
-  client responsibility - that is, defining the attributes of a breakpoint and 
-  the resource to associate a breakpoint marker with.</p>
-
-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined 
-  with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints 
-  are restored at workspace startup time by the breakpoint manager - that is, 
-  breakpoint objects are created for all persisted markers which are a subtype 
-  of the root breakpoint marker and are added to the breakpoint manager. To allow 
-  for selective persistence of breakpoints (of the same kind), the <b>IBreakpoint</b> 
-  interface and root breakpoint implementation defines a &quot;persisted&quot; 
-  attribute. If this value is set to false, the breakpoint will not be persisted 
-  across workspace invocations.</p>
-
-<p>As breakpoint markers are modified (created, removed, and changed), resource 
-  deltas are created by the platform. The breakpoint manager translates pertinent 
-  resource deltas into breakpoint change notifications (breakpoint added/removed/changed 
-  messages). Interested listeners may register with the breakpoint manager. The 
-  breakpoint manager only fires change notifications for registered breakpoints. 
-  This simplifies breakpoint processing for clients, as resource delta traversal 
-  and analysis is not required. Debug targets that support breakpoints should 
-  register for breakpoint change notifications.</p>
-<h4>New Features in the Debug Model, Eclipse 3.0</h4>
-<blockquote> 
-  <h4>Launch Delegate Enhancements<br>
-  </h4>
-  <p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>. 
-    This allows launch delegates to provide a launch object to be used for a launch. 
-    For example, when debugging on a server a delegate could create a new launch 
-    object or may reuse an existing launch object if the server is already running 
-    in debug mode. As well, the inteface provides a mechanism for performing a 
-    scoped build prior to launching (i.e. scoped to the projects in the workspace 
-    pertaining to the launch), and searching for errors in the workspace which 
-    may prevent the launch from succeeding (for example, compilation errors).</p>
-  <p></p>
-  <h4>Extensible Watch Expressions</h4>
-  <p>The debug platform provides an implementation of watch expressions. Debug 
-    models can contribute watch expression delegates if they support watch expressions. 
-    When a stack frame is selected, the associated delegate is queried to provide 
-    a value for a watch expression in that context. The debug platform provides 
-    persistence, enabling, disabling, entering, and editing of watch expressions.</p>
-  <h4>Automatic Array Partitioning<br>
-  </h4>
-  <p>The debug plug-in supports automatic partitioning of indexed collections, 
-    which partitions large arrays into sub-ranges in the variables view. This 
-    is supported with the introduction of a new interface in the debug model representing 
-    an indexed value - <code>IIndexedValue</code>. If a value implements this 
-    interface, the variables view will automatically partition its elements as 
-    required, into sub-ranges</p>
-  <h4>Logical Structure Types<br>
-  </h4>
-  <p>Often, it is convenient to navigate complex data structures in terms of a 
-    logical structure, rather than an implementation structure. For example, no 
-    matter how a list is implemented (i.e. linked list, collection of arrays, 
-    etc.), it is often convenient to be able to view the list as an ordered collection. 
-    To facilitate the display of logical structures in the variables view, an 
-    extension point has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>) 
-    allowing debug models to contribute logical structures of its values, where 
-    applicable. Debug models may contribute delegates to translate raw implementation 
-    values into logical values. The variables view will display the logical values, 
-    when the option to display logical structures is turned on. More than one 
-    logical structure can be provided for a single value - the user can choose 
-    which structure to display.</p>
-  <h4>Step Filters<br>
-  </h4>
-  <p>To support step filters on all stepping functions (into, over, return), a 
-    new interface has been added to the debug platform - <code>IStepFilters</code> 
-    - which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>, 
-    which is now deprecated. The debugger provides a global toggle that turns 
-    step filters on/off for all stepping functions. Debug targets should implement 
-    this new interface and honor the step filter enablement setting when stepping.</p>
-  <p>This change maintains binary compatibility with previous releases. However, 
-    targets wishing to leverage the new function must implement the new interface.<br>
-  </p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
deleted file mode 100644
index 069ad32..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,115 +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>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for launching programs, breakpoint management, expression management,
-and debug events.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support facilities common among 
-  many debug architectures: launching programs, breakpoint management, expression 
-  management, and debug events. An extensible set of debug architectures and languages 
-  are supported by the definition of a &quot;debug model&quot; - a set of interfaces 
-  representing common artifacts in debuggable programs, which are defined in <b>org.eclipse.debug.core.model</b>. 
-  The debug plug-in itself does not provide an implementation of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Managers</h4>
-
-<p>The debug platform defines and provides an implementation of the following managers:
-<ul>
-  <li>Launch Manager - The launch manager maintains the set of registered launches 
-    - that is, a collection of programs that have been launched in debuggable 
-    or non-debuggable (run) mode. Each launch contains its associated debug targets 
-    and system processes. A launch that represents a debuggable program may specify 
-    an associated source locator used to locate source elements associated with 
-    stack frames for a particular debug session. Clients may provide implementations 
-    of source locators, which are generally tied to the manner in which a program 
-    is launched.</li>
- <li>Breakpoint Manager - The breakpoint manager maintains, persists, and restores the collection
-    of all registered breakpoints in the workspace. As well, it provides change notification for
-    breakpoints.</li>
- <li>Expression Manager - The expression manager maintains a collection of registered expressions.
-    Expressions are not automatically persisted, but a client could persist its own expressions
-    if required.</li>
-</ul>
-<p></p>
-
-<h4>Launch Configurations</h4>
-
-<p>A launch configuration is a persistable description of how to launch an application. 
-  Each launch configuration is an instance of a type of launch configuration - 
-  for example, a Java Application. The debug plug-in defines a launch configuration 
-  type extension point that clients can contribute to. A launch configuration 
-  is a set of attributes describing how to launch a program. The launching of 
-  an application is performed by an associated implementation of a launch configuration 
-  delegate, contributed by each launch configuration type extension.</p>
-<p>A launch configuration may be stored as a file in the worksapce (and shared 
-  in a repository via standard team mechanisms), or may be stored locally, essentially 
-  making the launch configuration private for a single user.</p>
-<h4>New Features in the Debug Platform, Eclipse 3.0</h4>
-<blockquote> 
-  <h4>Extensible Launch Modes</h4>
-  <p>The debug platform supports an extensible set of launch modes. Prior releases 
-    only supported two launch modes - run and debug. The debug platform defines 
-    an extension point for contributing new launch modes (<code>org.eclipse.debug.core.launchModes)</code>, 
-    and contributes three basic launch modes itself: run, debug, and profile. 
-    The launch manager has API to retrieve all launch modes, and a human readable 
-    label for each launch mode.</p>
-  <p>The debug platform has an extension point to support the contribution of 
-    a launch delegate for a specific launch configuration type and launch mode 
-    - <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch 
-    configurations to be extended by third parties, to support new launch modes. 
-    For example, a client could contribute a launch delegate that launches a Java 
-    Application in profile mode (currently, the SDK does not provide a Java profiler).</p>
-  <p>For backwards compatibility, the launch delegate supplied by a launch configuration 
-    type extension is used for the launch modes specified by the launch configuration 
-    type. A launch delegate supplied for a specific mode, is used only for that 
-    mode.</p>
-  <h4>Extensible Debug Events</h4>
-  <p>The debug platform supports an extensible set of debug events. A debug event 
-    kind of <code>MODEL_SPECIFIC</code> has been added to indicate an application 
-    specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-    is created, the detail code in the event is client defined. The source of 
-    the event (debug element that generated the event) identifies the debug model 
-    from which the event was generated. The debug platform and user interface 
-    ignores model specific debug events.</p>
-  <p>A data field has been added to debug events to allow clients to store application 
-    specific data in debug events.<br>
-  </p>
-  <h4>Process Factories<br>
-  </h4>
-  <p>The debug platform provides an extension point (<code>org.eclipse.debug.core.processFactories</code>) 
-    for contributing process factories. A process factory can be used to override 
-    default process creation for a launch configuration when the debug plug-in 
-    creates a new process. A launch configuration can specify a process factory 
-    to use when creating a process, via the launch configuration attribute<code> 
-    DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>.</p>
-  <h4>Launch Termination Notification<br>
-  </h4>
-  <p>The debug platform provides a mechanism for launch listeners to be notified 
-    when a launch terminates. A launch is a container of processes and debug targets. 
-    When all of the contained targets and processes terminate, a terminate notification 
-    is sent to those listeners implementing <code>ILaunchesListener2</code>.</p>
-  <h4>Breakpoint Manager Enablement<br>
-  </h4>
-  <p>The breakpoint manager defines the methods <code>setEnabled(boolean)</code> 
-    and <code>isEnabled()</code>. When the breakpoint manager is disabled, debuggers 
-    should ignore all registered breakpoints. The debug platform also provides 
-    a new listener mechanism, <code>IBreakpointManagerListener</code> which allows 
-    clients to register with the breakpoint manager to be notified when its enablement 
-    changes.</p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
deleted file mode 100644
index 17d8d3c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
+++ /dev/null
@@ -1,720 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 88232
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Directs source lookup among a collection of source lookup participants,
- * and a common collection of source containers.
- * Each source lookup participant is a source locator itself, which allows
- * more than one source locator to participate in source lookup for a
- * launch. Each source lookup participant searches for source in the source
- * containers managed by this director, and each participant is notified
- * of changes in the source containers (i.e. when the set of source
- * containers changes).
- * <p>
- * When a source director is intilaized, it adds it self as a launch listener,
- * and automatically disposes itself when its associated launch is removed
- * from the launch manager. If a source director is instantiated by a client
- * that is not part of a launch, that client is responsible for disposing
- * the source director.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ISourceLocator
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant
- */
-public abstract class AbstractSourceLookupDirector implements ISourceLookupDirector, ILaunchConfigurationListener, ILaunchListener {
-	
-	// source locator type identifire
-	protected String fId;
-	//ISourceLocatorParticipants that are listening for container changes
-	protected ArrayList fParticipants = new ArrayList();
-	//list of current source containers
-	protected ISourceContainer[] fSourceContainers = null;
-	//the launch config associated with this director
-	protected ILaunchConfiguration fConfig; 
-	//whether duplicates should be searched for or not
-	protected boolean fDuplicates = false;
-	// source path computer, or null if default
-	protected ISourcePathComputer fComputer = null;
-	/**
-	 * Cache of resolved source elements when duplicates exist.
-	 * Keys are the duplicates, values are the source element to use.
-	 */
-	protected Map fResolvedElements = null;
-	
-	protected static final IStatus fPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	protected static final IStatus fResolveDuplicatesStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 205, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	// XML nodes & attributes for persistence
-	protected static final String DIRECTOR_ROOT_NODE = "sourceLookupDirector"; //$NON-NLS-1$
-	protected static final String CONTAINERS_NODE = "sourceContainers"; //$NON-NLS-1$
-	protected static final String DUPLICATES_ATTR = "duplicates"; //$NON-NLS-1$
-	protected static final String CONTAINER_NODE = "container"; //$NON-NLS-1$
-	protected static final String CONTAINER_TYPE_ATTR = "typeId"; //$NON-NLS-1$
-	protected static final String CONTAINER_MEMENTO_ATTR = "memento"; //$NON-NLS-1$
-	  
-	class SourceLookupQuery implements ISafeRunnable {
-		
-		private List fSourceElements = new ArrayList();
-		private Object fElement = null;
-		
-		SourceLookupQuery(Object element) {
-			fElement = element;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			MultiStatus multiStatus = null;
-			CoreException single = null;
-			ISourceLookupParticipant[] participants = getParticipants();
-			for(int i=0; i < participants.length; i++) {
-				Object[] sourceArray;
-				try {
-					sourceArray = participants[i].findSourceElements(fElement);
-					if (sourceArray !=null && sourceArray.length > 0) {
-						if (isFindDuplicates()) {
-							for(int j=0; j<sourceArray.length; j++)
-								if(!checkDuplicate(sourceArray[j], fSourceElements))
-									fSourceElements.add(sourceArray[j]);
-						} else {
-							fSourceElements.add(sourceArray[0]);
-							return;
-						}
-					}
-				} catch (CoreException e) {
-					if (single == null) {
-						single = e;
-					} else if (multiStatus == null) {
-						multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.AbstractSourceLookupDirector_19, null); //$NON-NLS-1$
-						multiStatus.add(e.getStatus());
-					} else {
-						multiStatus.add(e.getStatus());
-					}
-				}
-			}	
-			if (fSourceElements.isEmpty()) {
-				// throw exception if there was one
-				if (multiStatus != null) {
-					throw new CoreException(multiStatus);
-				} else if (single != null) {
-					throw single;
-				}
-			}
-		}
-		
-		public List getSourceElements() {
-			return fSourceElements;
-		}
-
-		public void dispose() {
-			fElement = null;
-			fSourceElements = null;
-		}
-		
-	}
-	
-	/**
-	 * Constructs source lookup director
-	 */
-	public AbstractSourceLookupDirector() {
-	}
-	
-	/**
-	 * Sets the type identifier for this source locator's type
-	 *  
-	 * @param id corresponds to source locator type identifier for a
-	 *  persistable source locator 
-	 */
-	public void setId(String id) {
-		fId = id;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#dispose()
-	 */
-	public synchronized void dispose() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchConfigurationListener(this);
-		launchManager.removeLaunchListener(this);
-		Iterator iterator = fParticipants.iterator();
-		while (iterator.hasNext()) {
-			ISourceLookupParticipant participant = (ISourceLookupParticipant) iterator.next();
-			//director may also be a participant
-			if(participant != this)
-				participant.dispose();
-		}
-		fParticipants.clear();
-		if (fSourceContainers != null) {
-			for (int i = 0; i < fSourceContainers.length; i++) {
-				fSourceContainers[i].dispose();
-			}
-		}
-		fSourceContainers = null;
-		fResolvedElements = null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Constructs source containers from a list of container mementos.
-	 * 
-	 * @param list the list of nodes to be parsed
-	 * @exception CoreException if parsing encounters an error
-	 * @return a list of source containers
-	 */
-	private List parseSourceContainers(NodeList list) throws CoreException {
-		List containers = new ArrayList();
-		for (int i=0; i < list.getLength(); i++) {
-			if(!(list.item(i).getNodeType() == Node.ELEMENT_NODE))
- 				continue;
-			Element element = (Element)list.item(i);
-			String typeId = element.getAttribute(CONTAINER_TYPE_ATTR);
-			if (typeId == null || typeId.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.AbstractSourceLookupDirector_11, null); //$NON-NLS-1$
-			}
-			ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
-			if(type == null) {
-				abort(MessageFormat.format(SourceLookupMessages.AbstractSourceLookupDirector_12, new String[]{typeId}), null); //$NON-NLS-1$
-			}			
-			String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
-			if (memento == null || memento.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.AbstractSourceLookupDirector_13, null); //$NON-NLS-1$
-			}
-			ISourceContainer container = type.createSourceContainer(memento);
-			containers.add(container);
-		}	
-		return containers;
-	}
-	
-	/**
-	 * Registers the given source lookup participant. Has no effect if an identical
-	 * participant is already registered. Paticipants receive notification
-	 * when the source containers associated with this source director change. 
-	 * 
-	 * @param participant the particiapant to register
-	 */
-	private synchronized void addSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (!fParticipants.contains(participant)) {
-			fParticipants.add(participant);
-			participant.init(this);
-		}	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceContainers()
-	 */
-	public synchronized ISourceContainer[] getSourceContainers() {
-		if (fSourceContainers == null) {
-			return new ISourceContainer[0];
-		}
-		ISourceContainer[] copy = new ISourceContainer[fSourceContainers.length];
-		System.arraycopy(fSourceContainers, 0, copy, 0, fSourceContainers.length);
-		return copy;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {			
-		return fDuplicates;			
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setFindDuplicates(boolean)
-	 */
-	public void setFindDuplicates(boolean duplicates) {			
-		fDuplicates = duplicates;			
-	}	
-	
-	/**
-	 * Removes the given participant from the list of registered partipants.
-	 * Has no effect if an identical participant is not already registered.
-	 * 
-	 * @param participant the participant to remove
-	 */
-	private synchronized void removeSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (fParticipants.remove(participant)) {
-			participant.dispose();
-		}
-	}	
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Updates source containers in repsonse to changes in underlying launch
-	 * configuration. Only responds to changes in non-working copies.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		if (fConfig == null || configuration.isWorkingCopy()) {
-			return;
-		}
-		if(fConfig.equals(configuration)) {
-			try{
-				String locatorMemento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO,(String)null);
-				if (locatorMemento == null) {
-					initializeDefaults(configuration);
-				} else {
-					initializeFromMemento(locatorMemento, configuration);
-				}
-			} catch (CoreException e){
-			}
-		}
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#getMemento()
-	 */
-	public synchronized String getMemento() throws CoreException {
-		Document doc = DebugPlugin.newDocument();
-		Element rootNode = doc.createElement(DIRECTOR_ROOT_NODE);
-		doc.appendChild(rootNode);
-				
-		Element pathNode = doc.createElement(CONTAINERS_NODE);		
-		if(fDuplicates) {
-			pathNode.setAttribute(DUPLICATES_ATTR, "true"); //$NON-NLS-1$
-		} else {
-			pathNode.setAttribute(DUPLICATES_ATTR, "false"); //$NON-NLS-1$
-		}
-		rootNode.appendChild(pathNode);
-		if(fSourceContainers !=null){
-			for(int i=0; i<fSourceContainers.length; i++){
-				Element node = doc.createElement(CONTAINER_NODE);
-				ISourceContainer container = fSourceContainers[i];
-				ISourceContainerType type = container.getType();
-				node.setAttribute(CONTAINER_TYPE_ATTR, type.getId());
-				node.setAttribute(CONTAINER_MEMENTO_ATTR, type.getMemento(container));
-				pathNode.appendChild(node);
-			}
-		}
-		return DebugPlugin.serializeDocument(doc);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeFromMemento(java.lang.String)
-	 */
-	public void initializeFromMemento(String memento) throws CoreException {
-	    doInitializeFromMemento(memento, true);
-	}
-	
-	/**
-	 * Initializes this source lookup director from the given memento.
-	 * Disposes itself before initialization if specified.
-	 * 
-	 * @param memento source locator memento
-	 * @param dispose whether to dispose any current source containers and participants
-	 *  before initializing
-	 * @throws CoreException if an exception occurrs during initialization
-	 * @since 3.1
-	 */
-	protected void doInitializeFromMemento(String memento, boolean dispose) throws CoreException {
-	    if (dispose) {
-	        dispose();
-	    }
-		Element rootElement = DebugPlugin.parseDocument(memento);		
-		if (!rootElement.getNodeName().equalsIgnoreCase(DIRECTOR_ROOT_NODE)) { 
-			abort(SourceLookupMessages.AbstractSourceLookupDirector_14, null); //$NON-NLS-1$
-		}
-		NodeList list = rootElement.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				if(entry.getNodeName().equalsIgnoreCase(CONTAINERS_NODE)){
-					setFindDuplicates("true".equals(entry.getAttribute(DUPLICATES_ATTR))); //$NON-NLS-1$
-					NodeList children = entry.getChildNodes();
-					List containers = parseSourceContainers(children);
-					setSourceContainers((ISourceContainer[]) containers.toArray(new ISourceContainer[containers.size()]));
-				}
-			}
-		}
-		initializeParticipants();
-	}	
-	
-	/**
-	 * Sets the source containers used by this source lookup
-	 * director.
-	 * 
-	 * @param containers source containers to search
-	 */
-	public void setSourceContainers(ISourceContainer[] containers) {
-		synchronized (this) {
-			List list = Arrays.asList( containers );
-			ISourceContainer[] old = getSourceContainers();
-			for (int i = 0; i < old.length; i++) {
-				// skip overlapping containers
-				if (!list.contains(old[i]))
-					old[i].dispose();
-			}
-			fSourceContainers = containers;
-			for (int i = 0; i < containers.length; i++) {
-				ISourceContainer container = containers[i];
-				container.init(this);
-			}
-		}
-		// clear resolved duplicates
-		fResolvedElements = null;
-		// notify participants
-		ISourceLookupParticipant[] participants = getParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			ISourceLookupParticipant participant = participants[i];
-			participant.sourceContainersChanged(this);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(org.eclipse.debug.core.model.IStackFrame)
-	 * Would be better to accept Object so this can be used for breakpoints and other objects.
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		return getSourceElement((Object)stackFrame);
-	}
-	
-	/**
-	 * Performs a source lookup query for the given element
-	 * returning the source elements associated with the element.
-	 * 
-	 * @param element stack frame
-	 * @return list of associated source elements
-	 */
-	protected List doSourceLookup(Object element) {
-		SourceLookupQuery query = new SourceLookupQuery(element);
-		Platform.run(query);
-		List sources = query.getSourceElements();
-		query.dispose();
-		return sources;
-	}
-	
-	/**
-	 * Returns the source element to associate with the given element.
-	 * This method is called when more than one source element has been found
-	 * for an element, and allows the source director to select a single
-	 * source element to associate with the element.
-	 * <p>
-	 * Subclasses should override this method as appropriate. For example,
-	 * to prompt the user to choose a source element.
-	 * </p>
-	 * @param element the debug artifact for which source is being searched for
-	 * @param sources the source elements found for the given element
-	 * @return a single source element for the given element
-	 */
-	public Object resolveSourceElement(Object element, List sources) {
-		// check the duplicates cache first
-		Iterator duplicates = sources.iterator();
-		while (duplicates.hasNext()) {
-			Object dup = duplicates.next();
-			Object resolved = getCachedElement(dup);
-			if (resolved != null) {
-				return resolved;
-			}
-		}
-		// consult a status handler
-		IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(fPromptStatus);
-		if (prompter != null) {
-			try {
-				Object result = prompter.handleStatus(fResolveDuplicatesStatus, new Object[]{element, sources});
-				if (result != null) {
-					cacheResolvedElement(sources, result);
-					return result;
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return sources.get(0);
-	}
-
-	/**
-	 * Checks if the object being added to the list of sources is a duplicate of what's already in the list
-	 * @param sourceToAdd the new source file to be added 
-	 * @param sources the list that the source will be compared against
-	 * @return true if it is already in the list, false if it is a new object
-	 */
-	private boolean checkDuplicate(Object sourceToAdd, List sources){
-		if(sources.size() == 0)
-			return false;
-		Iterator iterator = sources.iterator();
-		while(iterator.hasNext())
-			if(iterator.next().equals(sourceToAdd))
-				return true;
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#initializeFromMemento(java.lang.String, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException {
-	    dispose();
-		setLaunchConfiguration(configuration);
-		doInitializeFromMemento(memento, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeDefaults(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException {
-		dispose();
-		setLaunchConfiguration(configuration);
-		setSourceContainers(new ISourceContainer[]{new DefaultSourceContainer()});
-		initializeParticipants();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfig;
-	}
-	
-	/**
-	 * Sets the launch configuration associated with this source lookup
-	 * director. If the given configuration is a working copy, this director
-	 * will respond to changes the working copy. If the given configuration
-	 * is a persisted launch configration, this director will respond to changes
-	 * in the persisted launch configuration.
-	 * 
-	 * @param configuration launch configuration to associate with this
-	 *  source lookup director, or <code>null</code> if none
-	 */
-	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfig = configuration;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchConfigurationListener(this);
-		launchManager.addLaunchListener(this);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch.getSourceLocator())) {
-			dispose();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getParticipants()
-	 */
-	public synchronized ISourceLookupParticipant[] getParticipants() {
-		return (ISourceLookupParticipant[]) fParticipants.toArray(new ISourceLookupParticipant[fParticipants.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#supportsSourceContainerType(org.eclipse.debug.core.sourcelookup.ISourceContainerType)
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type) {
-		return true;
-	}
-	
-	/**
-	 * Caches the resolved source element to use when one of the following
-	 * duplicates is found.
-	 * 
-	 * @param duplicates duplicates source elemnets
-	 * @param sourceElement chosen source element to use in place of the
-	 *  duplicates
-	 */
-	protected void cacheResolvedElement(List duplicates, Object sourceElement) {
-		if (fResolvedElements == null) {
-			fResolvedElements = new HashMap(10);
-		}
-		Iterator iterator = duplicates.iterator();
-		while (iterator.hasNext()) {
-			Object dup = iterator.next();
-			fResolvedElements.put(dup, sourceElement);
-		}
-		
-	}
-	
-	/**
-	 * Returns the cached source element to use when the given duplicate
-	 * is encountered.
-	 * 
-	 * @param duplicate duplicates source element
-	 * @return element to use in the duplicate's place
-	 */
-	protected Object getCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			return fResolvedElements.get(duplicate);
-		}
-		return null;
-	}
-	
-	/**
-	 * Clears any cached source element associated with the given duplicate
-	 * is source elemnet.
-	 * 
-	 * @param duplicate duplicate source element to cache resolved results
-	 *  for
-	 */
-	protected void clearCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			fResolvedElements.remove(duplicate);
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#clearSourceElements(java.lang.Object)
-	 */
-	public void clearSourceElements(Object element) {
-		List list = doSourceLookup(element);
-		if (list.size() > 0) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				clearCachedElement(iterator.next());
-			}
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#addParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
-	 */
-	public void addParticipants(ISourceLookupParticipant[] participants) {
-		for (int i = 0; i < participants.length; i++) {
-			ISourceLookupParticipant participant = participants[i];
-			addSourceLookupParticipant(participant);
-			participant.sourceContainersChanged(this);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#removeParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
-	 */
-	public void removeParticipants(ISourceLookupParticipant[] participants) {
-		for (int i = 0; i < participants.length; i++) {
-			removeSourceLookupParticipant(participants[i]);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		if (fComputer == null && getLaunchConfiguration() != null) {
-			try {
-				return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(getLaunchConfiguration());
-			} catch (CoreException e) {
-			}
-		}
-		return fComputer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setSourcePathComputer(org.eclipse.debug.core.sourcelookup.ISourcePathComputer)
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer) {
-		fComputer = computer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		SourceLookupQuery query = new SourceLookupQuery(object);
-		Platform.run(query);
-		List sources = query.getSourceElements();
-		query.dispose();
-		return sources.toArray();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceElement(java.lang.Object)
-	 */
-	public Object getSourceElement(Object element) {
-		List sources = doSourceLookup(element);
-		if(sources.size() == 1) {
-			return sources.get(0);
-		} else if(sources.size() > 1) {
-			return resolveSourceElement(element, sources);
-		} else { 
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
deleted file mode 100644
index 9870457..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-
-/**
- * Common super class for implementations of source lookup participants.
- * <p>
- * Clients implementing source lookup participants should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceLookupParticipant implements ISourceLookupParticipant {
-	
-	private ISourceLookupDirector fDirector;
-	
-	protected static final Object[] EMPTY = new Object[0]; 
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void init(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		List results = null;
-		CoreException single = null;
-		MultiStatus multiStatus = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		String name = getSourceName(object);
-		if (name != null) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i = 0; i < containers.length; i++) {
-				try {
-					ISourceContainer container = getDelegateContainer(containers[i]);
-					if (container != null) {
-						Object[] objects = container.findSourceElements(name);
-						if (objects.length > 0) {
-							if (isFindDuplicates()) {
-								for (int j = 0; j < objects.length; j++) {
-									results.add(objects[j]);
-								}
-							} else {
-								if (objects.length == 1) {
-									return objects;
-								} 
-								return new Object[]{objects[0]};
-							}
-						}
-					}
-				} catch (CoreException e) {
-					if (single == null) {
-						single = e;
-					} else if (multiStatus == null) {
-						multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.CompositeSourceContainer_0, null); //$NON-NLS-1$
-						multiStatus.add(e.getStatus());
-					} else {
-						multiStatus.add(e.getStatus());
-					}
-				}
-			}
-		}
-		if (results == null) {
-			if (multiStatus != null) {
-				throw new CoreException(multiStatus);
-			} else if (single != null) {
-				throw single;
-			}
-			return EMPTY;
-		}
-		return results.toArray();
-	}	
-	
-	/**
-	 * Returns the source container to search in place of the given source
-	 * container, or <code>null</code> if the given source container is not
-	 * to be searched. The default implementation does not translate source
-	 * containers. Subclasses should override if required.
-	 *  
-	 * @param container the source container about to be searched (proxy)
-	 * @return the source container to be searched (delegate), or <code>null</code>
-	 * 	if the source container should not be searched
-	 */
-	protected ISourceContainer getDelegateContainer(ISourceContainer container) {
-		return container;
-	}
-	
-	/**
-	 * Returns the source lookup director this participant is registered with
-	 * or <code>null</code> if none.
-	 * 
-	 * @return the source lookup director this participant is registered with
-	 *  or <code>null</code> if none
-	 */
-	protected ISourceLookupDirector getDirector() {
-		return fDirector;
-	}
-	
-	/**
-	 * Returns whether this participant's source lookup director is configured
-	 * to search for duplicate source elements.
-	 * 
-	 * @return whether this participant's source lookup director is configured
-	 * to search for duplicate source elements
-	 */
-	protected boolean isFindDuplicates() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.isFindDuplicates();
-		}
-		return false;
-	}	
-	
-	/**
-	 * Returns the source containers currently registered with this participant's
-	 * source lookup director.
-	 * 
-	 * @return the source containers currently registered with this participant's
-	 * source lookup director
-	 */
-	protected ISourceContainer[] getSourceContainers() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getSourceContainers();
-		}
-		return new ISourceContainer[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#sourceContainersChanged(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void sourceContainersChanged(ISourceLookupDirector director) {
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
deleted file mode 100644
index f30b971..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-
-/**
- * Extensions to the <code>IPersistableSourceLocator</code> interface.
- * <p>
- * Clients may optionally implement this interface when implementing an
- * {@link org.eclipse.debug.core.model.IPersistableSourceLocator}.
- * </p>
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- * @since 3.0 
- */
-public interface IPersistableSourceLocator2 extends IPersistableSourceLocator {
-
-	/**
-	 * Initializes this source locator based on the given
-	 * memento, for the given launch configuration. This method
-	 * is called instead of <code>initializeFrom(String memento)</code>
-	 * defined in <code>IPersistableSourceLocator</code> when a source
-	 * locator implements this interface.
-	 * 
-	 * @param memento a memento to initialize this source locator
-	 * @param configuration the launch configuration this source locator is
-	 *  being created for
-	 * @exception CoreException on failure to initialize 
-	 */
-	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Disposes this source locator. This method is called when a source
-	 * locator's associated launch is removed from the launch manager.
-	 */
-	public void dispose();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
deleted file mode 100644
index 7370115..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A source container is a container of source code. A source container is
- * capable of searching for source elements by name. For example, a source
- * container may be a project or a directory capable of searching for files
- * by name. A source container may be a composite container - i.e. contain
- * other source containers.
- * <p>
- * When a source container is created and added to a source director, the
- * source container's <code>dispose()</code> method is called when the
- * source director is disposed. Clients creating source containers for other
- * purposes must dispose of containers themselves.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISourceLookupParticipant
- * @see ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainer extends IAdaptable {
-	
-	/**
-	 * Notifiation this source container has been added to the given
-	 * source lookup director.
-	 * 
-	 * @param director the director this container has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-
-	/**
-	 * Returns a collection of source elements in this container corresponding to the
-	 * given name. Returns an empty collection if no source elements are found.
-	 * This source container's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element. If this is a composite container, the containers contained
-	 * by this container are also searched.
-	 * <p>
-	 * The format of the given name is implementation specific but generally conforms
-	 * to the format of a file name. If a source container does not recognize the
-	 * name format provided, an empty collection should be returned. A source container
-	 * may or may not require names to be fully qualified (i.e. be qualified with directory
-	 * names).
-	 * </p>
-	 * @param name the name of the source element to search for
-	 * @return a collection of source elements corresponding to the given name
-	 * @exception CoreException if an exception occurrs while searching for source elements
-	 */
-	public Object[] findSourceElements(String name) throws CoreException;
-
-	/**
-	 * The name of this source container that can be used for presentation purposes.
-	 * For example, the name of a project.
-	 *  
-	 * @return the name of this source container
-	 */
-	public String getName();
-
-	/**
-	 * Returns the source containers this container is composed of. An empty
-	 * collection is returned if this container is not a composite container.
-	 * For example, a workspace source container may be composed of project source
-	 * containers.
-	 * 
-	 * @return the source containers this container is composed of, possibly
-	 *  an empty collection
-	 * @exception CoreException if unable to retrieve source containers
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException;
-
-	/**
-	 * Returns whether this container is a composite container. A composite
-	 * container is composed of other source containers. For example, a workspace
-	 * source container may be composed of project source containers.
-	 * 
-	 * @return whether this container is a composite container
-	 */ 	
-	public boolean isComposite();
-	
-	/**
-	 * Returns this container's type.
-	 * 
-	 * @return this container's type 
-	 */
-	public ISourceContainerType getType();
-	
-	/**
-	 * Disposes this source container. This method is called when the source
-	 * director associated with this source container is disposed.
-	 */
-	public void dispose();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
deleted file mode 100644
index 1b3f9dc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-
-
-/**
- * A source container type represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type is contributed via the <code>sourceContainerTypes</code>
- * extension point, providing a delegate to the work specific to the contributed
- * type. Following is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourceContainerTypes&quot;&gt;
- * 	&lt;sourceContainerType
- * 		name=&quot;Project&quot;
- * 		class=&quot;org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType&quot;
- * 		id=&quot;org.eclipse.debug.core.containerType.project&quot;
- * 		description=&quot;A project in the workspace&quot;&gt;
- * 	&lt;/sourceContainerType&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a source container type implement {@link org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate}.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate
- * @since 3.0
- */
-public interface ISourceContainerType extends ISourceContainerTypeDelegate {
-
-	/**
-	 * Returns the name of this source container type that can be used for
-	 * presentation purposes. For example, <code>Working Set</code> or
-	 * <code>Project</code>.  The value returned is
-	 * identical to the name specified in plugin.xml by the <code>name</code>
-	 * attribute.
-	 * 
-	 * @return the name of this source container type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the unique identifier associated with this source container type.
-	 * The value returned is identical to the identifier specified in plugin.xml by
-	 * the <code>id</code> attribute.
-	 * 
-	 * @return the unique identifier associated with this source container type
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a short description of this source container type that can be used
-	 * for presenetation purposes, or <code>null</code> if none.
-	 * 
-	 * @return a short description of this source container type, or <code>null</code>
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
deleted file mode 100644
index 85a555c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source container type delegate represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type delegate is contributed via the
- * <code>sourceContainerTypes</code> extension point.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p> 
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainerTypeDelegate {
-
-	/**
-	 * Creates and returns a new source container of this type
-	 * corresponding to the given memento.
-	 * 
-	 * @param memento a memento for a source conatiner of this source container type
-	 * @return a source container corresponding to the given memento
-	 * @exception CoreException if unable to construct a source container based
-	 *  on the given memento
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException;
-	
-	/**
-	 * Constructs and returns a memento for the given source container. A memento
-	 * can be used to reconstruct a source container.
-	 * 
-	 * @param container The container for which a memento should be created. The
-	 *  container must of this source container type.
-	 * @return a memento for the source container
-	 * @exception CoreException if unable to create a memento
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
deleted file mode 100644
index 7fb2a9a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source lookup director directs the source lookup process
- * among a set of participants and source containers.
- * <p>
- * Clients may implement this interface. An astract implementation
- * is provided by <code>AbstractSourceLookupDirector</code>, which
- * clients should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupDirector extends IPersistableSourceLocator2 {
-	
-	/**
-	 * Returns the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Returns the source lookup participants currently registered with
-	 * this director, possibly an empty collection.
-	 * 
-	 * @return the source lookup participants currently registered with
-	 * this director, possibly an empty collection
-	 */
-	public ISourceLookupParticipant[] getParticipants();
-	
-	/**
-	 * Returns the source containers currently registered with this 
-	 * director, possibly an empty collection.
-	 * 
-	 * @return the source containers currently registered with this 
-	 * director, possibly an empty collection
-	 */
-	public ISourceContainer[] getSourceContainers();
-	
-	/**
-	 * Sets the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection.
-	 * 
-	 * @param containers the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection
-	 */
-	public void setSourceContainers(ISourceContainer[] containers);	
-	
-	/**
-	 * Returns whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @return whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public boolean isFindDuplicates();
-	
-	/**
-	 * Sets whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @param findDuplicates whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public void setFindDuplicates(boolean findDuplicates);	
-	
-	/**
-	 * Notifies this source lookup director that it should initialize
-	 * its set of source lookup participants.
-	 */
-	public void initializeParticipants();
-	
-	/**
-	 * Returns whether this source director supports the given type
-	 * of source location. 
-	 * 
-	 * @param type source container type
-	 * @return whether this source director supports the given type
-	 * of source location
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type);
-	
-	/**
-	 * Clears any source lookup results associated with the given
-	 * debug artifact, such that a subsequent lookup will force a new search
-	 * to be performed.
-	 *  
-	 * @param element debug artifact to clear source lookup results for
-	 */
-	public void clearSourceElements(Object element);
-	
-	/**
-	 * Adds the given source lookup participants to this director.
-	 * 
-	 * @param participants participants to add
-	 */
-	public void addParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Removes the given source lookup participants from this director.
-	 * 
-	 * @param participants participants to remove
-	 */
-	public void removeParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Returns the identifier of this type of source locator.
-	 * 
-	 * @return the identifier of this type of source locator
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the source path computer to use with this source lookup
-	 * director, possibly <code>null</code>. By default, the source path 
-	 * computer returned is the one associated with this director's launch
-	 * configuration's type. However, the source path computer can be specified
-	 * programmatically by calling <code>setSourcePathComputer(...)</code>.
-	 * 
-	 * @return the source path computer to use with this source lookup
-	 *  director, possibly <code>null</code>
-	 */
-	public ISourcePathComputer getSourcePathComputer();
-	
-	/**
-	 * Sets the source path computer for this source lookup director.
-	 * This method can be used to override the default source path computer
-	 * for a launch configuration type. When <code>null</code> is specified
-	 * the default source path computer will be used (i.e. the one assocaited
-	 * with this director's launch configuration's type).
-	 *  
-	 * @param computer source path computer or <code>null</code>
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * 
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurrs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;	
-	
-	/**
-	 * Returns a source element that corresponds to the given debug artifact, or
-	 * <code>null</code> if a source element could not be located. This is a
-	 * generalization of <code>getSourceElement(IStackFrame)</code> to allow
-	 * source to be found for other types of elements.
-	 *
-	 * @param element the debug artifact for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(Object element);	
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
deleted file mode 100644
index a9b9bf1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source lookup participant participates in source lookup by searching an ordered
- * list of source containers for source elements corresponding to a debug artifact.
- * For example, a participant may be asked to find source corresponding to a stack
- * frame or breakpoint. An implementation of a source lookup participant is debug
- * model specific, since it must convert the debug model artifact (stack frame,
- * breakpoint, etc.),  into a source name that can be recognized by a source container
- * (<code>ISourceContainer</code>), to search for source elements. Source containers
- * are generally debug model independent, whereas source lookup participants are
- * debug model specific.  
- * <p>
- * Clients may implement this interface. An abstract implementation is
- * provided by <code>AbstractSourceLookupParticipant</code>, which clients
- * should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupParticipant {
-
-	/**
-	 * Notification this participant has been added to the specified
-	 * source lookup director. 
-     *
-	 * @param director the source lookup director that this participant
-	 *  has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * <p>
-	 * If the given debug artifact is not recognized by this participant, an empty
-	 * collection is returned. Otherwise, this participant generates a source name
-	 * from the given artifact and performs a search for associated source elements
-	 * in its source containers.
-	 * </p>
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurrs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;
-	
-	/**
-	 * Returns the source file name associated with the given debug artifact that
-	 * source needs to be found for, or <code>null</code> if none.
-	 * 
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return the source file name associated with the given debug artifact,
-	 *  or <code>null</code> if none.
-	 * @throws CoreException if unable to determine a source file name 
-	 */
-	public String getSourceName(Object object) throws CoreException;
-
-	/**
-	 * Disposes this source lookup participant. This method is called when
-	 * the source lookup director assocaited with this participant is 
-	 * disposed.
-	 */
-	public void dispose();
-	
-	/**
-	 * Notification that the source lookup containers in the given source
-	 * lookup director have changed.
-	 * 
-	 * @param director source lookup director that is directing this
-	 * participant
-	 */
-	public void sourceContainersChanged(ISourceLookupDirector director);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
deleted file mode 100644
index 51dedd5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A source path computer computes the default source lookup path (set of source
- * containers that should be considered) for a launch configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the 
- * <code>sourcePathComputers</code> extension point, that provides a delegate
- * to compute the path specific to a launch configuration. Following
- * is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourcePathComputers&quot;&gt;
- *    	&lt;sourcePathComputer
- *    		id=&quot;org.eclipse.example.exampleSourcePathComputer&quot;
- *    		class=&quot;org.eclipse.example.SourcePathComputer&quot;&gt;
- *    	&lt;/sourcePathComputer&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p> 
- * <p>
- * A source path computer can be associated with a launch configuration type
- * via the <code>sourcePathComputerId</code> attribute of a launch configuration
- * type extension. As well, a launch configuration can specify its own
- * source path computer to use via the <code>ATTR_SOURCE_PATH_COMPUTER_ID</code>
- * attribute.
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a source path computer provide an implementation of 
- * {@link org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate}.
- * </p>
- * @since 3.0
- */
-public interface ISourcePathComputer extends ISourcePathComputerDelegate {
-	
-	/**
-	 * Launch configuration attribute to specify a source path computer
-	 * that should be used for a launch configuration. The value is an identifer
-	 * of a source path computer extension, or unspecified (<code>null</code>), if the
-	 * default source path computer should be used. A default source path computer
-	 * can be associated with a launch configuration type.
-	 */
-	public static final String ATTR_SOURCE_PATH_COMPUTER_ID = DebugPlugin.getUniqueIdentifier() + ".SOURCE_PATH_COMPUTER_ID"; //$NON-NLS-1$
-
-	/**
-	 * Returns the unique identifier for this source path computer.
-	 * 
-	 * @return the unique identifier for this source path computer
-	 */
-	public String getId();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
deleted file mode 100644
index 9d55061..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source path computer delegate computes the default source lookup path
- * (set of source containers that should be considered) for a launch
- * configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the 
- * <code>sourcePathComputers</code> extension point, providing a delegate
- * to compute the default source lookup path specific to a launch
- * configuration.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @since 3.0
- */
-public interface ISourcePathComputerDelegate {
-	
-	/**
-	 * Returns a default collection source containers to be considered for the
-	 * given launch configuration. The collection returned represents the default
-	 * source lookup path for the given configuration.
-	 * 
-	 * @param configuration the launch configuration for which a default source lookup path
-	 *  is to be computed
-	 * @param monitor a progress monitor to be used in case of long operations
-	 * @return a default collection source containers to be considered for the
-	 *  given launch configuration
-	 * @exception CoreException if unable to compute a default source lookup path
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
deleted file mode 100644
index 27fb86d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Common function for source containers.
- * <p>
- * Clients implementing source containers should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainer extends PlatformObject implements ISourceContainer {
-	
-	public static final Object[] EMPTY = new Object[0];
-	
-	private ISourceLookupDirector fDirector;
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * By default, do nothing. Subclasses should override as requried.
-	 * 
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException {
-		return new ISourceContainer[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void init(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-	
-	/**
-	 * Returns the source lookup director this source container registered
-	 * in, or <code>null</code> if none.
-	 * 
-	 * @return the source lookup director this source container registered
-	 * in, or <code>null</code> if none
-	 */
-	protected ISourceLookupDirector getDirector() {
-		return fDirector;
-	}
-	
-	/**
-	 * Returns whether this container's source lookup director is configured
-	 * to search for duplicate source elements.
-	 * 
-	 * @return whether this container's source lookup director is configured
-	 * to search for duplicate source elements
-	 */
-	protected boolean isFindDuplicates() {
-		if (getDirector() != null) {
-			return getDirector().isFindDuplicates();
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the source container type identified by the given id,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id source container type identifier
-	 * @return source container type or <code>null</code>
-	 */
-	protected ISourceContainerType getSourceContainerType(String id) {
-		return DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(id);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
deleted file mode 100644
index 0b0b7b1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Common function for source container type delegates.
- * <p>
- * Clients implementing source container delegates should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainerTypeDelegate implements ISourceContainerTypeDelegate {
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 */
-	protected Document newDocument()throws CoreException {
-		return DebugPlugin.newDocument();
-	}	
-	
-	/**
-	 * Returns the given XML document as a string.
-	 * 
-	 * @param document document to serialize
-	 * @return the given XML document as a string
-	 * @throws CoreException if unable to serialize the document
-	 */
-	protected String serializeDocument(Document document) throws CoreException {
-		return DebugPlugin.serializeDocument(document);
-	}
-
-	/**
-	 * Parses the given XML document, returning its root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 */
-	protected Element parseDocument(String document) throws CoreException {
-		return DebugPlugin.parseDocument(document);
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
deleted file mode 100644
index e782493..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Archive source container for an archive in the workspace. Returns instances
- * of <code>ZipEntryStorage</code> as source elemetns.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ArchiveSourceContainer extends AbstractSourceContainer {
-	
-	private IFile fFile;
-	private boolean fDetectRoot; 
-	private ExternalArchiveSourceContainer fDelegateContainer;
-	
-	/**
-	 * Unique identifier for the archive source container type
-	 * (value <code>org.eclipse.debug.core.containerType.archive</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.archive";	 //$NON-NLS-1$
-	
-	/**
-	 * Creates an archive source container on the given file. 
-	 * 
-	 * @param archive archive in the workspace
-	 * @param detectRootPath whether a root path should be detected. When
-	 *   <code>true</code>, searching is performed relative to a root path
-	 *   within the archive based on fully qualified file names. The root
-	 *   path is automatically determined when the first successful search
-	 *   is performed. For example, when searching for a file named
-	 *   <code>a/b/c.d</code>, and an entry in the archive named
-	 *   <code>r/a/b/c.d</code> exists, the root path is set to <code>r</code>.
-	 *   From that point on, searching is performed relative to <code>r</code>.
-	 *   When <code>false</code>, searching is performed by
-	 *   matching file names as suffixes to the entries in the archive. 
-	 */
-	public ArchiveSourceContainer(IFile archive, boolean detectRootPath) {
-		fFile = archive;
-		fDetectRoot = detectRootPath;
-		if (archive.exists() && archive.getLocation() != null) {
-		    fDelegateContainer = new ExternalArchiveSourceContainer(archive.getLocation().toOSString(), detectRootPath);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-	
-	/**
-	 * Returns the associated file in the workspace.
-	 *  
-	 * @return associated file in the workspace
-	 */
-	public IFile getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof ArchiveSourceContainer &&
-			((ArchiveSourceContainer)obj).getName().equals(getName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-     */
-    public Object[] findSourceElements(String name) throws CoreException {
-        ExternalArchiveSourceContainer container = getDelegateContainer();
-        if (container != null) {
-            return container.findSourceElements(name);
-        }
-        return EMPTY;
-    }
-    
-    /**
-     * Returns the underlying external archive source container.
-     * 
-     * @return underlying external archive source container
-     * @since 3.0.1.1
-     */
-    private ExternalArchiveSourceContainer getDelegateContainer() {
-        return fDelegateContainer;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-     */
-    public void init(ISourceLookupDirector director) {
-        super.init(director);
-        if (fDelegateContainer != null) {
-            fDelegateContainer.init(director);
-        }
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        if (fDelegateContainer != null) {
-            fDelegateContainer.dispose();
-        }
-    }
-    
-	/**
-	 * Returns whether root paths are automatically detected in this
-	 * archive source container.
-	 *  
-	 * @return whether root paths are automatically detected in this
-	 * archive source container
-	 * @since 3.0.1.1
-	 */
-	public boolean isDetectRoot() {
-		return fDetectRoot;
-	}    
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
deleted file mode 100644
index 0179fb0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container of source containers.
- * <p>
- * Clients implementing composite source containers should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class CompositeSourceContainer extends AbstractSourceContainer {
-	
-	private ISourceContainer[] fContainers;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		return findSourceElements(name, getSourceContainers());
-	}
-	
-	/**
-	 * Returns a collection of source elements in the given containers corresponding to
-	 * the given name. Returns an empty collection if no source elements are found.
-	 * This source container's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element. If this is a composite container, the containers contained
-	 * by this container are also searched.
-	 * <p>
-	 * The format of the given name is implementation specific but generally conforms
-	 * to the format of a file name. If a source container does not recognize the
-	 * name format provided, an empty collection should be returned. A source container
-	 * may or may not require names to be fully qualified (i.e. be qualified with directory
-	 * names).
-	 * </p>
-	 * @param name the name of the source element to search for
-	 * @param containers the containers to search
-	 * @return a collection of source elements corresponding to the given name
-	 * @exception CoreException if an exception occurrs while searching for source elements
-	 */	
-	protected Object[] findSourceElements(String name, ISourceContainer[] containers) throws CoreException {
-		List results = null;
-		CoreException single = null;
-		MultiStatus multiStatus = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		for (int i = 0; i < containers.length; i++) {
-			ISourceContainer container = containers[i];
-			try {
-				Object[] objects = container.findSourceElements(name);
-				if (objects.length > 0) {
-					if (isFindDuplicates()) {
-						for (int j = 0; j < objects.length; j++) {
-							results.add(objects[j]);
-						}
-					} else {
-						if (objects.length == 1) {
-							return objects;
-						}
-						return new Object[]{objects[0]};
-					}
-				}
-			} catch (CoreException e) {
-				if (single == null) {
-					single = e;
-				} else if (multiStatus == null) {
-					multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.CompositeSourceContainer_0, null); //$NON-NLS-1$
-					multiStatus.add(e.getStatus());
-				} else {
-					multiStatus.add(e.getStatus());
-				}
-			}
-		}
-		if (results == null) {
-			if (multiStatus != null) {
-				throw new CoreException(multiStatus);
-			} else if (single != null) {
-				throw single;
-			}
-			return EMPTY;
-		}
-		return results.toArray();
-	}	
-	
-	/**
-	 * Creates the source containers in this composite container.
-	 * Subclasses should override this methods.
-	 * 
-	 * @throws CoreException if unable to create the containers
-	 */
-	protected abstract ISourceContainer[] createSourceContainers() throws CoreException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public synchronized ISourceContainer[] getSourceContainers() throws CoreException {
-		if (fContainers == null) {
-			fContainers = createSourceContainers();
-			for (int i = 0; i < fContainers.length; i++) {
-				ISourceContainer container = fContainers[i];
-				container.init(getDirector());
-			}			
-		}
-		return fContainers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fContainers != null) {
-			for (int i = 0; i < fContainers.length; i++) {
-				ISourceContainer container = fContainers[i];
-				container.dispose();
-			}
-		}
-		fContainers = null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
deleted file mode 100644
index 91ea2cc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container that computer the default source lookup path
- * for a launch configuration on each launch using a launch configuration's
- * associated source path computer.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class DefaultSourceContainer extends CompositeSourceContainer {  
-	
-	/**
-	 * Unique identifier for the default source container type
-	 * (value <code>org.eclipse.debug.core.containerType.default</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.default"; //$NON-NLS-1$
-
-	/**
-	 * Constructs a default source container. 
-	 */
-	public DefaultSourceContainer() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof DefaultSourceContainer;
-	}	
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getClass().hashCode();
-	}	
-	
-	/**
-	 * Returns the launch configuration for which a default source lookup
-	 * path will be computed, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration for which a default source lookup
-	 * path will be computed, or <code>null</code>
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getLaunchConfiguration();
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/**
-	 * Returns the source path computer to use, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the source path computer to use, or <code>null</code>
-	 * if none
-	 */
-	private ISourcePathComputer getSourcePathComputer() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getSourcePathComputer();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.DefaultSourceContainer_0; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		ISourcePathComputer sourcePathComputer = getSourcePathComputer();
-		if (sourcePathComputer != null) {
-			ILaunchConfiguration config= getLaunchConfiguration();
-			if (config != null) {
-				return sourcePathComputer.computeSourceContainers(config, null);
-			}
-		}
-		
-		return new ISourceContainer[0];
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
deleted file mode 100644
index 1fbfb74..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A directory in the local file system. Source elements returned
- * from <code>findSourceElements(...)</code> are instances
- * of <code>LocalFileStorage</code>.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-
-public class DirectorySourceContainer extends CompositeSourceContainer {
-	
-	// root directory
-	private File fDirectory;
-	// whether to search subfolders
-	private boolean fSubfolders = false;
-	/**
-	 * Unique identifier for the directory source container type
-	 * (value <code>org.eclipse.debug.core.containerType.directory</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.directory"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs an external folder container for the
-	 * directory identified by the given path.
-	 * 
-	 * @param dirPath path to a directory in the local file system
-	 * @param subfolders whether folders within the root directory
-	 *  should be searched for source elements
-	 */
-	public DirectorySourceContainer(IPath dirPath, boolean subfolders) {
-		this(dirPath.toFile(), subfolders);
-	}
-	
-	/**
-	 * Constructs an external folder container for the
-	 * directory identified by the given file.
-	 * 
-	 * @param dir a directory in the local file system
-	 * @param subfolders whether folders within the root directory
-	 *  should be searched for source elements
-	 */
-	public DirectorySourceContainer(File dir, boolean subfolders) {
-		fDirectory = dir;
-		fSubfolders = subfolders;
-	}	
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fDirectory.getName();
-	}	
-	
-	/**
-	 * Returns the root directory in the local file system associated
-	 * with this source container.
-	 * 
-	 * @return the root directory in the local file system associated
-	 * with this source container
-	 */
-	public File getDirectory() {
-		return fDirectory;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		ArrayList sources = new ArrayList();
-		File directory = getDirectory();
-		File file = new File(directory, name);
-		if (file.exists() && file.isFile()) {
-			sources.add(new LocalFileStorage(file));
-		}
-		
-		//check subfolders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return fSubfolders;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof DirectorySourceContainer) {
-			DirectorySourceContainer container = (DirectorySourceContainer) obj;
-			return container.getDirectory().equals(getDirectory());
-		}
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getDirectory().hashCode();
-	}
-	
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if (isComposite()) {
-			String[] files = fDirectory.list();
-			if (files != null) {
-				List dirs = new ArrayList();
-				for (int i = 0; i < files.length; i++) {
-					String name = files[i];
-					File file = new File(getDirectory(), name);
-					if (file.exists() && file.isDirectory()) {
-						dirs.add(new DirectorySourceContainer(file, true));
-					}
-				}
-				ISourceContainer[] containers = (ISourceContainer[]) dirs.toArray(new ISourceContainer[dirs.size()]);
-				for (int i = 0; i < containers.length; i++) {
-					ISourceContainer container = containers[i];
-					container.init(getDirector());
-				}				
-				return containers;
-			}
-		}
-		return new ISourceContainer[0];
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
deleted file mode 100644
index 543de47..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-
-/**
- * An archive in the local file system. Returns instances
- * of <code>ZipEntryStorage</code> as source elemetns.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ExternalArchiveSourceContainer extends AbstractSourceContainer {
-	
-	private boolean fDetectRoots = false;
-	private Map fRoots = new HashMap(5);
-	private String fArchivePath = null;
-	/**
-	 * Unique identifier for the external archive source container type
-	 * (value <code>org.eclipse.debug.core.containerType.externalArchive</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.externalArchive";	 //$NON-NLS-1$
-	
-	/**
-	 * Creates an archive source container on the archive at the 
-	 * specified location in the local file system. 
-	 * 
-	 * @param archivePath path to the archive in the local file system
-	 * @param detectRootPaths whether root container paths should be detected. When
-	 *   <code>true</code>, searching is performed relative to a root path
-	 *   within the archive based on fully qualified file names. A root
-	 *   path is automatically determined for each file type when the first
-	 *   successful search is performed. For example, when searching for a file
-	 *   named <code>a/b/c.d</code>, and an entry in the archive named
-	 *   <code>r/a/b/c.d</code> exists, the root path is set to <code>r</code>
-	 *   for file type <code>d</code>.
-	 *   From that point on, searching is performed relative to <code>r</code>
-	 *   for files of type <code>d</code>.
-	 *   When searching for an unqualified file name, root containers are not
-	 *   considered.
-	 *   When <code>false</code>, searching is performed by
-	 *   matching file names as suffixes to the entries in the archive. 
-	 */
-	public ExternalArchiveSourceContainer(String archivePath, boolean detectRootPaths) {
-		fArchivePath = archivePath;
-		fDetectRoots = detectRootPaths;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		name = name.replace('\\', '/');
-		ZipFile file = getArchive();
-		synchronized (file) {
-			boolean isQualfied = name.indexOf('/') > 0;
-			if (fDetectRoots && isQualfied) {
-				String root = getRoot(file, name);
-				if (root != null) {
-					if (root.length() > 0) {
-						name = root + name;
-					}
-					ZipEntry entry = file.getEntry(name);
-					if (entry != null) {
-						return new Object[]{new ZipEntryStorage(file, entry)};
-					}
-				}
-			} else {
-				// try exact match
-				ZipEntry entry = file.getEntry(name);
-				if (entry != null) {
-					// can't be any dups if there is an exact match
-					return new Object[]{new ZipEntryStorage(file, entry)};
-				}
-				// search
-				Enumeration entries = file.entries();
-				List matches = null;
-				while (entries.hasMoreElements()) {
-					entry = (ZipEntry)entries.nextElement();
-					String entryName = entry.getName();
-					if (entryName.endsWith(name)) {
-						if (isQualfied || entryName.length() == name.length() || entryName.charAt(entryName.length() - name.length() - 1) == '/') {
-							if (isFindDuplicates()) {
-								if (matches == null) {
-									matches = new ArrayList();
-								}
-								matches.add(new ZipEntryStorage(file, entry));
-							} else {
-								return new Object[]{new ZipEntryStorage(file, entry)};
-							}
-						}
-					}
-				}
-				if (matches != null) {
-					return matches.toArray();
-				}
-			}
-		}
-		return EMPTY;
-	}
-	
-	/**
-	 * Returns the root path in this archive for the given file name, based
-	 * on its type, or <code>null</code> if none. Detects a root if a root has
-	 * not yet been detected for the given file type.
-	 * 
-	 * @param file zip file to search in
-	 * @param name file name
-	 * @exception CoreException if an exception occurrs while detecting the root
-	 */
-	private String getRoot(ZipFile file, String name) throws CoreException {
-		int index = name.lastIndexOf('.');
-		String fileType = null;
-		if (index >= 0) {
-			fileType = name.substring(index);
-		} else {
-			// no filetype, use "" as key
-			fileType = ""; //$NON-NLS-1$
-		}
-		String root = (String) fRoots.get(fileType);
-		if (root == null) {
-			root = detectRoot(file, name);
-			if (root != null) {
-				fRoots.put(fileType, root);
-			}
-		}
-		return root;
-	}
-	
-	/**
-	 * Detects and returns the root path in this archive by searching for an entry
-	 * with the given name, as a suffix.
-	 * 
-	 * @param file zip file to search in
-	 * @param name entry to search for
-	 * @return root
-	 * @exception CoreException if an exception occurrs while detecting the root
-	 */
-	private String detectRoot(ZipFile file, String name) throws CoreException {
-		synchronized (file) {
-			Enumeration entries = file.entries();
-			try {
-				while (entries.hasMoreElements()) {
-					ZipEntry entry = (ZipEntry)entries.nextElement();
-					String entryName = entry.getName();
-					if (entryName.endsWith(name)) {
-						int rootLength = entryName.length() - name.length();
-						if (rootLength > 0) {
-							return entryName.substring(0, rootLength);
-						} 
-						return ""; //$NON-NLS-1$
-					}
-				}
-			} catch (IllegalStateException e) {
-				abort(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_1, new String[] {getName()}), e); //$NON-NLS-1$
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the archive to search in.
-	 * 
-	 * @throws CoreException if unable to access the archive
-	 */
-	private ZipFile getArchive() throws CoreException {
-		try {
-			return SourceLookupUtils.getZipFile(fArchivePath);
-		} catch (IOException e) {
-			abort(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_2, new String[]{fArchivePath}), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fArchivePath;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/**
-	 * Returns whether root paths are automatically detected in this
-	 * archive source container.
-	 *  
-	 * @return whether root paths are automatically detected in this
-	 * archive source container
-	 */
-	public boolean isDetectRoot() {
-		return fDetectRoots;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof ExternalArchiveSourceContainer &&
-			((ExternalArchiveSourceContainer)obj).getName().equals(getName());
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fRoots.clear();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
deleted file mode 100644
index f1e1d60..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.containers.*;
-
-/**
- * A folder in the workspace.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class FolderSourceContainer extends ContainerSourceContainer {
-
-	/**
-	 * Unique identifier for the folder source container type
-	 * (value <code>org.eclipse.debug.core.containerType.folder</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.folder";	 //$NON-NLS-1$
-
-
-	/**
-	 * Constructs a source container on the given folder. 
-	 * 
-	 * @param folder the folder to search for source in
-	 * @param subfolders whether to search nested folders
-	 */
-	public FolderSourceContainer(IContainer folder, boolean subfolders) {
-		super(folder, subfolders);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
deleted file mode 100644
index 29b7e57..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * Implementation of storage for a local file
- * (<code>java.io.File</code>).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class LocalFileStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * The file this storage refers to.
-	 */ 
-	private File fFile;
-		
-	/**
-	 * Constructs and returns storage for the given file.
-	 * 
-	 * @param file a local file
-	 */
-	public LocalFileStorage(File file){
-		setFile(file);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return new FileInputStream(getFile());
-		} catch (IOException e){
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.LocalFileStorage_0, e)); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		try {
-			return new Path(getFile().getCanonicalPath());
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		return getFile().getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the file associated with this storage
-	 * 
-	 * @param file a local file
-	 */
-	private void setFile(File file) {
-		fFile = file;	
-	}
-	
-	/**
-	 * Returns the file asscoiated with this storage
-	 * 
-	 * @return file
-	 */
-	public File getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof LocalFileStorage &&
-			 getFile().equals(((LocalFileStorage)object).getFile());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getFile().hashCode();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
deleted file mode 100644
index 05eaeae..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Mikhail Khodjaiants, QNX - Bug 110227: Possible infinite loop in ProjectSourceContainer  
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.containers.ContainerSourceContainer;
-
-/**
- * A project in the workspace. Source is searched for in the root project
- * folder and all folders within the project recursively. Optionally,
- * referenced projects may be searched as well.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ProjectSourceContainer extends ContainerSourceContainer {
-
-	boolean fReferencedProjects=false;
-	/**
-	 * Unique identifier for the project source container type
-	 * (value <code>org.eclipse.debug.core.containerType.project</code>).
-	 */	
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.project"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs a project source container.
-	 * 
-	 * @param project the project to search for source in
-	 * @param referenced whether referenced projects should be considered
-	 */
-	public ProjectSourceContainer(IProject project, boolean referenced) {
-		super(project, true);
-		fReferencedProjects = referenced;
-	}
-	
-	/**
-	 * Returns whether referenced projects are considered.
-	 * 
-	 * @return whether referenced projects are considered
-	 */
-	public boolean isSearchReferencedProjects() {
-		return fReferencedProjects;
-	}
-	
-	/**
-	 * Returns the project this source container references.
-	 * 
-	 * @return the project this source container references
-	 */
-	public IProject getProject() {
-		return (IProject) getContainer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if (getProject().isOpen()) {
-			if (isSearchReferencedProjects()) {
-				IProject project = getProject();
-				IProject[] projects = getAllReferencedProjects(project);
-				ISourceContainer[] folders = super.createSourceContainers();
-				List all = new ArrayList(folders.length + projects.length);
-				for (int i = 0; i < folders.length; i++) {
-					all.add(folders[i]);
-				}
-				for (int i = 0; i < projects.length; i++) {
-					if (project.exists() && project.isOpen()) {
-						ProjectSourceContainer container = new ProjectSourceContainer(projects[i], false);
-						container.init(getDirector());
-						all.add(container);
-					}
-				}
-				return (ISourceContainer[]) all.toArray(new ISourceContainer[all.size()]);
-			} 
-			return super.createSourceContainers();
-		}
-		return new ISourceContainer[0];
-	}
-
-	private IProject[] getAllReferencedProjects(IProject project) throws CoreException {
-		Set all = new HashSet();
-		getAllReferencedProjects(all, project);
-		return (IProject[]) all.toArray(new IProject[all.size()]);
-	}
-
-	private void getAllReferencedProjects(Set all, IProject project) throws CoreException {
-		IProject[] refs = project.getReferencedProjects();
-		for (int i = 0; i < refs.length; i++) {
-			if (!all.contains(refs[i]) && refs[i].exists() && refs[i].isOpen()) {
-				all.add(refs[i]);
-				getAllReferencedProjects(all, refs[i]);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
deleted file mode 100644
index 8f7fcac..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * All projects in the workspace.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class WorkspaceSourceContainer extends CompositeSourceContainer {
-	
-	/**
-	 * Unique identifier for the workspace source container type
-	 * (value <code>org.eclipse.debug.core.containerType.workspace</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.workspace"; //$NON-NLS-1$
-
-	public WorkspaceSourceContainer() {
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.WorkspaceSourceContainer_0; //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof WorkspaceSourceContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */	
-	public int hashCode() {
-		return ResourcesPlugin.getWorkspace().hashCode();
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		ISourceContainer[] containers = new ISourceContainer[projects.length];
-		for (int i = 0; i < projects.length; i++) {
-			ISourceContainer container = new ProjectSourceContainer(projects[i], false);
-			container.init(getDirector());
-			containers[i] = container;
-		}
-		return containers;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
deleted file mode 100644
index de406fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
- 
-/**
- * Storage implementation for zip entries.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class ZipEntryStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * Zip file associated with zip entry
-	 */
-	private ZipFile fArchive;
-	
-	/**
-	 * Zip entry
-	 */
-	private ZipEntry fZipEntry;
-	
-	/**
-	 * Constructs a new storage implementation for the
-	 * given zip entry in the specified zip file
-	 * 
-	 * @param archive zip file
-	 * @param entry zip entry
-	 */
-	public ZipEntryStorage(ZipFile archive, ZipEntry entry) {
-		setArchive(archive);
-		setZipEntry(entry);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return getArchive().getInputStream(getZipEntry());
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.ZipEntryStorage_0, e)); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		return new Path(getArchive().getName()).append(getZipEntry().getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		int index = getZipEntry().getName().lastIndexOf('\\');
-		if (index == -1) {
-			index = getZipEntry().getName().lastIndexOf('/');
-		}
-		if (index == -1) {
-			return getZipEntry().getName();
-		} 
-		return getZipEntry().getName().substring(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the archive containing the zip entry.
-	 * 
-	 * @param archive a zip file
-	 */
-	private void setArchive(ZipFile archive) {
-		fArchive = archive;
-	}
-	
-	/**
-	 * Returns the archive containing the zip entry.
-	 * 
-	 * @return zip file
-	 */
-	public ZipFile getArchive() {
-		return fArchive;
-	}	
-	
-	/**
-	 * Sets the entry that contains the source.
-	 * 
-	 * @param entry the entry that contains the source
-	 */
-	private void setZipEntry(ZipEntry entry) {
-		fZipEntry = entry;
-	}
-	
-	/**
-	 * Returns the entry that contains the source
-	 * 
-	 * @return zip entry
-	 */
-	public ZipEntry getZipEntry() {
-		return fZipEntry;
-	}		
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof ZipEntryStorage &&
-			 getArchive().equals(((ZipEntryStorage)object).getArchive()) &&
-			 getZipEntry().getName().equals(((ZipEntryStorage)object).getZipEntry().getName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getZipEntry().getName().hashCode();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
deleted file mode 100644
index 7125fb5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/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>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides implementations of common source containers supporting source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides implementations of common source containers, such as 
-  archives, folders, and projects.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
deleted file mode 100644
index 8866be6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
+++ /dev/null
@@ -1,34 +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>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support source lookup. A source 
-  lookup director is a persistable source locator that directs source lookup among 
-  a collection of source lookup participants and a collection of source containers. 
-  Each source lookup participant is a source locator itself, which allows more 
-  than one source locator to participate in source lookup for a launch. Each source 
-  lookup participant searches for source in the source containers managed by its 
-  director, and each participant is notified of changes in the set of source containers 
-  being searched.</p>
-<p>A source lookup participant participates in source lookup by searching an ordered 
-  list of source containers for source elements corresponding to a debug artifact. 
-  For example, a participant may be asked to find source corresponding to a stack 
-  frame or breakpoint. An implementation of a source lookup participant is debug 
-  model specific, since it must convert the debug model artifact (stack frame, 
-  breakpoint, etc.), into a source name that can be recognized by a source container, 
-  to search for source elements. Source containers are generally debug model independent, 
-  whereas source lookup participants are debug model specific.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
deleted file mode 100644
index 9057dbc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,1016 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * The breakpoint manager manages all registered breakpoints
- * for the debug plugin. It is instantiated by the debug plugin at startup.
- *
- * @see IBreakpointManager
- */
-public class BreakpointManager implements IBreakpointManager, IResourceChangeListener {
-	
-	/**
-	 * Constants for breakpoint add/remove/change updates
-	 */
-	private final static int ADDED = 0;
-	private final static int REMOVED = 1;
-	private final static int CHANGED = 2;
-	
-	/**
-	 * String constants corresponding to XML extension keys
-	 */
-	private final static String CLASS = "class"; //$NON-NLS-1$
-	
-	/**
-	 * Attribute name for the <code>"markerType"</code> attribute of
-	 * a breakpoint extension.
-	 */
-	private static final String MARKER_TYPE= "markerType";	 //$NON-NLS-1$
-	
-	/**
-	 * Attribute name for the <code>"name"</code> attribute of a
-	 * breakpoint extension.
-	 */
-	private static final String TYPE_NAME= "name"; //$NON-NLS-1$
-
-	/**
-	 * A collection of breakpoints registered with this manager.
-	 */
-	private Vector fBreakpoints= null;
-	
-	/**
-	 * Collection of breakpoints being added currently. Used to 
-	 * suppress change notication of "REGISTERED" attribute when
-	 * being added.
-	 */
-	private List fSuppressChange = new ArrayList();
-	
-	/**
-	 * A table of breakpoint extension points, keyed by
-	 * marker type
-	 * key: a marker type
-	 * value: the breakpoint extension which corresponds to that marker type
-	 */
-	private HashMap fBreakpointExtensions;
-	
-	/**
-	 * Collection of markers that associates markers to breakpoints
-	 * key: a marker
-	 * value: the breakpoint which contains that marker
-	 */	
-	private HashMap fMarkersToBreakpoints;
-
-	/**
-	 * Collection of breakpoint listeners.
-	 */
-	private ListenerList fBreakpointListeners= new ListenerList(6);
-		
-	/**
-	 * Collection of (multi) breakpoint listeners.
-	 */
-	private ListenerList fBreakpointsListeners= new ListenerList(6);	
-	
-	/**
-	 * Singleton resource delta visitor which handles marker
-	 * additions, changes, and removals.
-	 */
-	private static BreakpointManagerVisitor fgVisitor;
-	
-	/**
-	 * Whether or not this breakpoint manager is enabled.
-	 */
-	private boolean fEnabled= true;
-	
-	/**
-	 * Collection of breakpoint manager listeners which are
-	 * notified when this manager's enablement changes.
-	 */
-	private ListenerList fBreakpointManagerListeners= new ListenerList(2);
-
-	/**
-	 * Constructs a new breakpoint manager.
-	 */
-	public BreakpointManager() {
-		fMarkersToBreakpoints= new HashMap(10);	
-		fBreakpointExtensions= new HashMap(15);
-	}
-	
-	/**
-	 * Loads all the breakpoints on the given resource.
-	 * 
-	 * @param resource the resource which contains the breakpoints
-	 * @param notify whether to notify of the breakpoint additions
-	 */
-	private void loadBreakpoints(IResource resource, boolean notify) throws CoreException {
-		initBreakpointExtensions();
-		IMarker[] markers= getPersistedMarkers(resource);
-		List added = new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			try {
-				IBreakpoint breakpoint = createBreakpoint(marker);
-				if (breakpoint.isRegistered()) {
-					added.add(breakpoint);
-				}
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		addBreakpoints((IBreakpoint[])added.toArray(new IBreakpoint[added.size()]), notify);
-	}
-	
-	/**
-	 * Returns the persisted markers associated with the given resource.
-	 * 
-	 * Delete any invalid breakpoint markers. This is done at startup rather
-	 * than shutdown, since the changes made at shutdown are not persisted as
-	 * the workspace state has already been saved. See bug 7683.
-	 * 
-	 * Since the <code>TRANSIENT</code> marker attribute/feature has been added,
-	 * we no longer have to manully delete non-persisted markers - the platform
-	 * does this for us (at shutdown, transient markers are not saved). However,
-	 * the code is still present to delete non-persisted markers from old
-	 * workspaces.
-	 */
-	protected IMarker[] getPersistedMarkers(IResource resource) throws CoreException {
-		IMarker[] markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-		final List delete = new ArrayList();
-		List persisted= new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			// ensure the marker has a valid model identifier attribute
-			// and delete the breakpoint if not
-			String modelId = marker.getAttribute(IBreakpoint.ID, null);
-			if (modelId == null) {
-				// marker with old/invalid format - delete
-				delete.add(marker);
-			} else if (!marker.getAttribute(IBreakpoint.PERSISTED, true)) {
-				// the breakpoint is marked as not to be persisted,
-				// schedule for deletion
-				delete.add(marker);
-			} else {
-				persisted.add(marker);
-			}
-		}
-		// delete any markers that are not to be restored
-		if (!delete.isEmpty()) {
-            final IMarker[] delMarkers = (IMarker[])delete.toArray(new IMarker[delete.size()]);
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) throws CoreException {
-                    for (int i = 0; i < delMarkers.length; i++) {
-                        IMarker marker = delMarkers[i];
-                        marker.delete();
-                    }
-				}
-			};
-			new BreakpointManagerJob(wr).schedule();
-		}
-		return (IMarker[])persisted.toArray(new IMarker[persisted.size()]);
-	}
-	
-	/**
-	 * Removes this manager as a resource change listener
-	 * and removes all breakpoint listeners.
-	 */
-	public void shutdown() {
-		getWorkspace().removeResourceChangeListener(this);
-		fBreakpointListeners.removeAll();
-	}
-
-	/**
-	 * Find the defined breakpoint extensions and cache them for use in recreating
-	 * breakpoints from markers.
-	 */
-	private void initBreakpointExtensions() {
-		IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_BREAKPOINTS);
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		for (int i= 0; i < elements.length; i++) {
-			String markerType = elements[i].getAttribute(MARKER_TYPE);
-			String className = elements[i].getAttribute(CLASS);
-			if (markerType == null) {
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.BreakpointManager_Breakpoint_extension__0__missing_required_attribute__markerType_1, new String[]{elements[i].getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} else if (className == null){
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.BreakpointManager_Breakpoint_extension__0__missing_required_attribute__class_2, new String[]{elements[i].getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} else {
-				fBreakpointExtensions.put(markerType, elements[i]);
-			}
-		}
-	}
-	
-	private void invalidBreakpointExtension(String message) {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, null);
-		DebugPlugin.log(status);
-	}
-
-	/**
-	 * Convenience method to get the workspace
-	 */
-	private IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * @see IBreakpointManager#getBreakpoint(IMarker)
-	 */
-	public IBreakpoint getBreakpoint(IMarker marker) {
-		// ensure that breakpoints are initialized
-		getBreakpoints0();
-		return (IBreakpoint)fMarkersToBreakpoints.get(marker);
-	}
-
-	/**
-	 * @see IBreakpointManager#getBreakpoints()
-	 */
-	public IBreakpoint[] getBreakpoints() {
-		Vector breakpoints= getBreakpoints0();
-		IBreakpoint[] temp= new IBreakpoint[breakpoints.size()];
-		breakpoints.copyInto(temp);
-		return temp;
-	}
-	
-	/**
-	 * The BreakpointManager waits to load the breakpoints
-	 * of the workspace until a request is made to retrieve the 
-	 * breakpoints.
-	 */
-	private Vector getBreakpoints0() {
-		if (fBreakpoints == null) {
-			initializeBreakpoints();
-		}
-		return fBreakpoints;
-	}	
-	
-	/**
-	 * @see IBreakpointManager#getBreakpoints(String)
-	 */
-	public IBreakpoint[] getBreakpoints(String modelIdentifier) {
-		Vector allBreakpoints= getBreakpoints0();
-		ArrayList temp= new ArrayList(allBreakpoints.size());
-		Iterator breakpoints= allBreakpoints.iterator();
-		while (breakpoints.hasNext()) {
-			IBreakpoint breakpoint= (IBreakpoint) breakpoints.next();
-			String id= breakpoint.getModelIdentifier();
-			if (id != null && id.equals(modelIdentifier)) {
-				temp.add(breakpoint);
-			}
-		}
-		return (IBreakpoint[]) temp.toArray(new IBreakpoint[temp.size()]);
-	}
-
-	/**
-	 * Loads the list of breakpoints from the breakpoint markers in the
-	 * workspace. Start listening to resource deltas.
-	 */
-	private void initializeBreakpoints() {
-		setBreakpoints(new Vector(10));
-		try {
-			loadBreakpoints(getWorkspace().getRoot(), false);
-			getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
-		} catch (CoreException ce) {
-			DebugPlugin.log(ce);
-			setBreakpoints(new Vector(0));
-		} 
-	}
-	
-	/**
-	 * @see IBreakpointManager#isRegistered(IBreakpoint)
-	 */
-	public boolean isRegistered(IBreakpoint breakpoint) {
-		return getBreakpoints0().contains(breakpoint);
-	}
-
-	
-	/**
-	 * @see IBreakpointManager#removeBreakpoint(IBreakpoint, boolean)
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException {
-		removeBreakpoints(new IBreakpoint[]{breakpoint}, delete);
-	}
-	
-	/**
-	 * @see IBreakpointManager#removeBreakpoints(IBreakpoint[], boolean)
-	 */
-	public void removeBreakpoints(IBreakpoint[] breakpoints, final boolean delete) throws CoreException {
-		final List remove = new ArrayList(breakpoints.length);
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (getBreakpoints0().contains(breakpoint)) {
-				remove.add(breakpoint);
-			}
-		}
-		if (!remove.isEmpty()) {
-			Iterator iter = remove.iterator();
-			while (iter.hasNext()) {
-				IBreakpoint breakpoint = (IBreakpoint)iter.next();
-				getBreakpoints0().remove(breakpoint);
-				fMarkersToBreakpoints.remove(breakpoint.getMarker());
-			}
-			fireUpdate(remove, null, REMOVED);
-			IWorkspaceRunnable r = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor montitor) throws CoreException {
-					Iterator innerIter = remove.iterator();
-					while (innerIter.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint)innerIter.next();
-						if (delete) {
-							breakpoint.delete();
-						} else {
-							// if the breakpoint is being removed from the manager
-							// because the project is closing, the breakpoint should
-							// remain as registered, otherwise, the breakpoint should
-							// be marked as deregistered
-							IMarker marker = breakpoint.getMarker();
-							if (marker.exists()) {
-								IProject project = breakpoint.getMarker().getResource().getProject();
-								if (project == null || project.isOpen()) {
-									breakpoint.setRegistered(false);
-								}
-							}
-						}
-					}					
-				}
-			};
-			getWorkspace().run(r, null, 0, null);
-		}
-	}	
-	
-	/**
-	 * Create a breakpoint for the given marker. The created breakpoint
-	 * is of the type specified in the breakpoint extension associated
-	 * with the given marker type.
-	 * 
-	 * @return a breakpoint on this marker
-	 * @exception DebugException if breakpoint creation fails. Reasons for 
-	 *  failure include:
-	 * <ol>
-	 * <li>The breakpoint manager cannot determine what kind of breakpoint
-	 *     to instantiate for the given marker type</li>
-	 * <li>A lower level exception occurred while accessing the given marker</li>
-	 * </ol>
-	 */
-	private IBreakpoint createBreakpoint(IMarker marker) throws DebugException {
-		IBreakpoint breakpoint= (IBreakpoint) fMarkersToBreakpoints.get(marker);
-		if (breakpoint != null) {
-			return breakpoint;
-		}
-		try {
-			IConfigurationElement config = (IConfigurationElement)fBreakpointExtensions.get(marker.getType());
-			if (config == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, MessageFormat.format(DebugCoreMessages.BreakpointManager_Missing_breakpoint_definition, new String[] {marker.getType()}), null)); //$NON-NLS-1$
-			}
-			Object object = config.createExecutableExtension(CLASS);
-			if (object instanceof IBreakpoint) {
-				breakpoint = (IBreakpoint)object;
-				breakpoint.setMarker(marker);
-			} else {
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.BreakpointManager_Class__0__specified_by_breakpoint_extension__1__does_not_implement_required_interface_IBreakpoint__3, new String[]{config.getAttribute(CLASS), config.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			}
-			return breakpoint;		
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}	
-
-	/**
-	 * @see IBreakpointManager#addBreakpoint(IBreakpoint)
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException {
-		addBreakpoints(new IBreakpoint[]{breakpoint});
-	}
-	
-	/**
-	 * @see IBreakpointManager#addBreakpoints(IBreakpoint[])
-	 */
-	public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException {
-	    addBreakpoints(breakpoints, true);
-	}	
-	
-	/**
-	 * Registers the given breakpoints and notifies listeners if specified.
-	 * 
-	 * @param breakpoints the breakpoints to register
-	 * @param notify whether to notify listeners of the add
-	 * @param loading whether the given breakpoints are being automatically loaded
-	 *  from previously persisted markers
-	 */
-	private void addBreakpoints(IBreakpoint[] breakpoints, boolean notify) throws CoreException {
-		List added = new ArrayList(breakpoints.length);
-		final List update = new ArrayList();
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (!getBreakpoints0().contains(breakpoint)) {
-				verifyBreakpoint(breakpoint);
-				if (breakpoint.isRegistered()) {
-				    // If notify == false, the breakpoints are just being added at startup
-					added.add(breakpoint);
-					getBreakpoints0().add(breakpoint);
-					fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
-				} else {
-					// need to update the 'registered' and/or 'group' attributes
-					update.add(breakpoint);
-				}
-			}	
-		}
-		if (notify) {
-		    fireUpdate(added, null, ADDED);
-		}
-		if (!update.isEmpty()) {
-			IWorkspaceRunnable r = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					Iterator iter = update.iterator();
-					while (iter.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint)iter.next();
-						getBreakpoints0().add(breakpoint);
-						breakpoint.setRegistered(true);
-						fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);						
-					}
-				}
-			};
-			// Need to suppress change notification, since this is really
-			// an add notification			
-			fSuppressChange.addAll(update);
-			getWorkspace().run(r, null, 0, null);
-			fSuppressChange.removeAll(update);
-			if (notify) {
-			    fireUpdate(update, null, ADDED);
-			}
-		}			
-	}	
-	
-	/**
-	 * Returns whether change notification is to be suppressed for the given breakpoint.
-	 * Used when adding breakpoints and changing the "REGISTERED" attribute.
-	 * 
-	 * @param breakpoint
-	 * @return boolean whether change notification is suppressed
-	 */
-	protected boolean isChangeSuppressed(IBreakpoint breakpoint) {
-		return fSuppressChange.contains(breakpoint);
-	}
-	
-	/**
-	 * @see IBreakpointManager#fireBreakpointChanged(IBreakpoint)
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint) {
-		if (getBreakpoints0().contains(breakpoint)) {
-			List changed = new ArrayList();
-			changed.add(breakpoint);
-			fireUpdate(changed, null, CHANGED);
-		}
-	}
-
-	/**
-	 * Verifies that the breakpoint marker has the minimal required attributes,
-	 * and throws a debug exception if not.
-	 */
-	private void verifyBreakpoint(IBreakpoint breakpoint) throws DebugException {
-		try {
-			String id= breakpoint.getModelIdentifier();
-			if (id == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, DebugCoreMessages.BreakpointManager_Missing_model_identifier, null)); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}
-
-	/**
-	 * A resource has changed. Traverses the delta for breakpoint changes.
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta= event.getDelta();
-		if (delta != null) {
-			try {
-				if (fgVisitor == null) {
-					fgVisitor= new BreakpointManagerVisitor();
-				}
-				delta.accept(fgVisitor);
-				fgVisitor.update();
-			} catch (CoreException ce) {
-				DebugPlugin.log(ce);
-			}
-		}
-	}
-
-	/**
-	 * Visitor for handling resource deltas
-	 */
-	class BreakpointManagerVisitor implements IResourceDeltaVisitor {
-		/**
-		 * Moved markers
-		 */
-		private List fMoved = new ArrayList();
-		/**
-		 * Removed breakpoints
-		 */
-		private List fRemoved = new ArrayList();
-		/**
-		 * Changed breakpoints and associated marker deltas
-		 */
-		private List fChanged = new ArrayList();
-		private List fChangedDeltas = new ArrayList();
-		
-		/**
-		 * Resets the visitor for a delta traversal - empties
-		 * collections of removed/changed breakpoints.
-		 */
-		protected void reset() {
-			fMoved.clear();
-			fRemoved.clear();
-			fChanged.clear();
-			fChangedDeltas.clear();
-		}
-		
-		/**
-		 * Performs updates on accumlated changes, and fires change notification after
-		 * a traversal. Accumlated updates are reset.
-		 */
-		public void update() {
-			if (!fMoved.isEmpty()) {
-				// delete moved markers
-				IWorkspaceRunnable wRunnable= new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-                        IMarker[] markers = (IMarker[])fMoved.toArray(new IMarker[fMoved.size()]);
-						for (int i = 0; i < markers.length; i++) {
-                            markers[i].delete();
-                        }
-					}
-				};
-				try {
-					getWorkspace().run(wRunnable, null, 0, null);
-				} catch (CoreException e) {
-				}
-			}
-			if (!fRemoved.isEmpty()) {
-				try {
-					removeBreakpoints((IBreakpoint[])fRemoved.toArray(new IBreakpoint[fRemoved.size()]), false);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-			if (!fChanged.isEmpty()) {
-				fireUpdate(fChanged, fChangedDeltas, CHANGED);
-			}
-			reset();
-		} 
-				
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN) && 0 == (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
-				handleProjectResourceOpenStateChange(delta.getResource());
-				return false;
-			}
-			IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();
-			for (int i= 0; i < markerDeltas.length; i++) {
-				IMarkerDelta markerDelta= markerDeltas[i];
-				if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-					switch (markerDelta.getKind()) {
-						case IResourceDelta.ADDED :
-							handleAddBreakpoint(delta, markerDelta.getMarker());
-							break;
-						case IResourceDelta.REMOVED :
-							handleRemoveBreakpoint(markerDelta.getMarker());
-							break;
-						case IResourceDelta.CHANGED :
-							handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);
-							break;
-					}
-				}
-			}
-
-			return true;
-		}		
-
-		/**
-		 * Wrapper for handling adds
-		 */
-		protected void handleAddBreakpoint(IResourceDelta rDelta, final IMarker marker) {
-			if (0 != (rDelta.getFlags() & IResourceDelta.MOVED_FROM)) {
-				// This breakpoint has actually been moved - already removed
-				// from the Breakpoint manager during the remove callback.
-				// Schedule the marker associated with the new resource for deletion.
-				if (getBreakpoint(marker) == null) {
-					fMoved.add(marker);
-				}
-			} else {
-				// do nothing - we do not add until explicitly added
-			}
-		}
-		
-		/**
-		 * Wrapper for handling removes
-		 */
-		protected void handleRemoveBreakpoint(IMarker marker) {
-			IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null) {
-				fRemoved.add(breakpoint);
-			}
-		}
-
-		/**
-		 * Wrapper for handling changes
-		 */
-		protected void handleChangeBreakpoint(IMarker marker, IMarkerDelta delta) {
-			final IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null && isRegistered(breakpoint) && !isChangeSuppressed(breakpoint)) {
-				fChanged.add(breakpoint);
-				fChangedDeltas.add(delta);
-			}
-		}
-		
-		/**
-		 * A project has been opened or closed.  Updates the breakpoints for
-		 * that project
-		 */
-		private void handleProjectResourceOpenStateChange(final IResource project) {
-			if (!project.isAccessible()) {
-				//closed
-				Enumeration breakpoints= ((Vector)getBreakpoints0().clone()).elements();
-				while (breakpoints.hasMoreElements()) {
-					IBreakpoint breakpoint= (IBreakpoint) breakpoints.nextElement();
-					IResource markerResource= breakpoint.getMarker().getResource();
-					if (project.getFullPath().isPrefixOf(markerResource.getFullPath())) {
-						fRemoved.add(breakpoint);
-					}
-				}
-				return;
-			} 
-			try {
-				loadBreakpoints(project, true);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-
-	/**
-	 * @see IBreakpointManager#addBreakpointListener(IBreakpointListener)
-	 */
-	public void addBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.add(listener);
-	}
-
-	/**
-	 * @see IBreakpointManager#removeBreakpointListener(IBreakpointListener)
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.remove(listener);
-	}
-	
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param breakpoints associated breakpoints
-	 * @param deltas or <code>null</code>
-	 * @param update type of change
-	 */
-	private void fireUpdate(List breakpoints, List deltas, int update) {
-		if (breakpoints.isEmpty()) {
-			return; 
-		}
-		IBreakpoint[] bpArray = (IBreakpoint[])breakpoints.toArray(new IBreakpoint[breakpoints.size()]);
-		IMarkerDelta[] deltaArray = new IMarkerDelta[bpArray.length];
-		if (deltas != null) {
-			deltaArray = (IMarkerDelta[])deltas.toArray(deltaArray);
-		}
-		// single listeners
-		getBreakpointNotifier().notify(bpArray, deltaArray, update);
-		
-		// multi listeners
-		getBreakpointsNotifier().notify(bpArray, deltaArray, update);
-	}	
-
-	protected void setBreakpoints(Vector breakpoints) {
-		fBreakpoints = breakpoints;
-	}
-	
-	/**
-	 * @see IBreakpointManager#hasBreakpoints()
-	 */
-	public boolean hasBreakpoints() {
-		return !getBreakpoints0().isEmpty();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.remove(listener);
-	}
-
-	private BreakpointNotifier getBreakpointNotifier() {
-		return new BreakpointNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (single breakpoint) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointNotifier implements ISafeRunnable {
-		
-		private IBreakpointListener fListener;
-		private int fType;
-		private IMarkerDelta fDelta;
-		private IBreakpoint fBreakpoint;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__4, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.breakpointAdded(fBreakpoint);
-					break;
-				case REMOVED:
-					fListener.breakpointRemoved(fBreakpoint, fDelta);
-					break;
-				case CHANGED:
-					fListener.breakpointChanged(fBreakpoint, fDelta);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the listeners of the add/change/remove
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the change
-		 * @param update the type of change
-		 */
-		public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
-			fType = update;
-			Object[] copiedListeners= fBreakpointListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointListener)copiedListeners[i];
-				for (int j = 0; j < breakpoints.length; j++) {
-					fBreakpoint = breakpoints[j];
-					fDelta = deltas[j];
-					Platform.run(this);				
-				}
-			}
-			fListener = null;
-			fDelta = null;
-			fBreakpoint = null;			
-		}
-	}
-	
-	private BreakpointsNotifier getBreakpointsNotifier() {
-		return new BreakpointsNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (multiple breakpoints) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointsNotifier implements ISafeRunnable {
-		
-		private IBreakpointsListener fListener;
-		private int fType;
-		private IMarkerDelta[] fDeltas;
-		private IBreakpoint[] fNotifierBreakpoints;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__5, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.breakpointsAdded(fNotifierBreakpoints);
-					break;
-				case REMOVED:
-					fListener.breakpointsRemoved(fNotifierBreakpoints, fDeltas);
-					break;
-				case CHANGED:
-					fListener.breakpointsChanged(fNotifierBreakpoints, fDeltas);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the listeners of the adds/changes/removes
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the changed breakpoints
-		 * @param update the type of change
-		 */
-		public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
-			fType = update;
-			fNotifierBreakpoints = breakpoints;
-			fDeltas = deltas;
-			Object[] copiedListeners = fBreakpointsListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointsListener)copiedListeners[i];
-				Platform.run(this);
-			}
-			fDeltas = null;
-			fNotifierBreakpoints = null;
-			fListener = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#setEnabled(boolean)
-	 */
-	public void setEnabled(final boolean enabled) {
-        if (fEnabled != enabled) {
-    		fEnabled= enabled;
-            IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    IBreakpoint[] breakpoints = getBreakpoints();
-                    for (int i = 0; i < breakpoints.length; i++) {
-                        IBreakpoint breakpoint = breakpoints[i];
-                        // Touch the marker (but don't actually change anything) so that the icon in
-                        // the editor ruler will be updated (editors listen to marker changes). 
-                        breakpoint.getMarker().setAttribute(IBreakpoint.ENABLED, breakpoint.isEnabled());
-                    }
-                }
-            };
-            try {
-                ResourcesPlugin.getWorkspace().run(runnable, null, IWorkspace.AVOID_UPDATE ,null);
-            } catch (CoreException e) {
-                DebugPlugin.log(e);
-            }
-    		new BreakpointManagerNotifier().notify(enabled);
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void addBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void removeBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.remove(listener);
-	}	
-	
-	/**
-	 * Notifies breakpoint manager listeners in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointManagerNotifier implements ISafeRunnable {
-		
-		private IBreakpointManagerListener fListener;
-		private boolean fManagerEnabled;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__5, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.breakpointManagerEnablementChanged(fManagerEnabled);
-		}
-
-		/**
-		 * Notifies the listeners of the adds/changes/removes
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the changed breakpoints
-		 * @param update the type of change
-		 */
-		public void notify(boolean enabled) {
-			fManagerEnabled= enabled;
-			Object[] copiedListeners = fBreakpointManagerListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointManagerListener)copiedListeners[i];
-				Platform.run(this);
-			}
-			fListener = null;
-		}
-	}
-	
-	class BreakpointManagerJob extends Job {
-		
-		private final IWorkspaceRunnable fRunnable;
-
-		public BreakpointManagerJob (IWorkspaceRunnable wRunnable) {
-			super("breakpoint manager job"); //$NON-NLS-1$
-			fRunnable= wRunnable;
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				getWorkspace().run(fRunnable, null, 0, null);
-			} catch (CoreException ce) {
-				DebugPlugin.log(ce);
-			}
-			return new Status(IStatus.OK, DebugPlugin.getUniqueIdentifier(), IStatus.OK, "", null); //$NON-NLS-1$
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.IBreakpointManager#getTypeName(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public String getTypeName(IBreakpoint breakpoint) {
-        String typeName= null;
-        IMarker marker = breakpoint.getMarker();
-        if (marker != null) {
-            try {
-                IConfigurationElement element = (IConfigurationElement) fBreakpointExtensions.get(marker.getType());
-                if (element != null) {
-                    typeName= element.getAttribute(TYPE_NAME);
-                }
-            } catch (CoreException e) {
-            }
-        }
-        return typeName;
-    }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
deleted file mode 100644
index b3da6b6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-
-/**
- * A placeholder for a launch delegate contributed for a launch mode for an
- * existing launch configuration type.
- */
-public class ContributedDelegate {
-
-	/**
-	 * The configuration element of the extension.
-	 */
-	private IConfigurationElement fElement;
-	
-	/**
-	 * Modes this delegate supports.
-	 */
-	private Set fModes;
-	
-	/**
-	 * Delegate, or <code>null</code> if not yet instantiated.
-	 */
-	private ILaunchConfigurationDelegate fDelegate;
-	
-	/**
-	 * Constructs a new contributed delegate on the
-	 * given configuration element.
-	 * 
-	 * @param element configuration element
-	 */
-	protected ContributedDelegate(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets this delegate's configuration element.
-	 * 
-	 * @param element this delegate's configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/**
-	 * Returns this delegate's configuration element.
-	 * 
-	 * @return this delegate's configuration element
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fElement;
-	}	
-	
-	/**
-	 * Returns the set of modes specified in the configuration data.
-	 * 
-	 * @return the set of modes specified in the configuration data
-	 */
-	protected Set getModes() {
-		if (fModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			String[] strings = modes.split(","); //$NON-NLS-1$
-			fModes = new HashSet(3);
-			for (int i = 0; i < strings.length; i++) {
-				String string = strings[i];
-				fModes.add(string.trim());
-			}
-		}
-		return fModes;
-	}
-	
-	/**
-	 * Returns the type identifier of launch configuration type this delegate is
-	 * contributed to.
-	 */
-	protected String getLaunchConfigurationType() {
-		return getConfigurationElement().getAttribute("type"); //$NON-NLS-1$
-	}
-	
-	protected ILaunchConfigurationDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			Object object = getConfigurationElement().createExecutableExtension("delegate"); //$NON-NLS-1$
-			if (object instanceof ILaunchConfigurationDelegate) {
-				fDelegate = (ILaunchConfigurationDelegate)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_Launch_delegate_for__0__does_not_implement_required_interface_ILaunchConfigurationDelegate__1, new String[]{getIdentifier()}), null)); //$NON-NLS-1$
-			}		
-		}
-		return fDelegate;
-	}
-	
-	/**
-	 * Returns the identifier of this extension point.
-	 */
-	protected String getIdentifier() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns the source path computer id specified by this launch delegate 
-	 * or <code>null</code> if none.
-	 * 
-	 * @return the source path computer id specified by this launch delegate 
-	 * or <code>null</code> if none
-	 * 
-	 * @since 3.1
-	 */
-	protected String getSourcePathComputerId() {
-		return getConfigurationElement().getAttribute("sourcePathComputerId"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the source locater id specified by this launch delegate 
-	 * or <code>null</code> if none.
-	 * 
-	 * @return the source locater id specified by this launch delegate 
-	 * or <code>null</code> if none
-	 * 
-	 * @since 3.1
-	 */
-	protected String getSourceLocaterId() {
-		return getConfigurationElement().getAttribute("sourceLocatorId"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
deleted file mode 100644
index 3bd203d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugCoreMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$
-
-	public static String Breakpoint_no_associated_marker;
-
-	public static String BreakpointManager_Missing_breakpoint_definition;
-	public static String BreakpointManager_Missing_model_identifier;
-	public static String BreakpointManager_Breakpoint_extension__0__missing_required_attribute__markerType_1;
-	public static String BreakpointManager_Breakpoint_extension__0__missing_required_attribute__class_2;
-	public static String BreakpointManager_Class__0__specified_by_breakpoint_extension__1__does_not_implement_required_interface_IBreakpoint__3;
-	public static String BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__4;
-	public static String BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__5;
-
-	public static String DebugEvent_illegal_detail;
-	public static String DebugEvent_illegal_kind;
-
-	public static String DebugPlugin_Invalid_status_handler_extension___0__2;
-	public static String DebugPlugin_Debug_async_queue_1;
-	public static String DebugPlugin_Exception_occurred_executing_command_line__1;
-	public static String DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2;
-	public static String DebugPlugin_Registered_status_handler__0__does_not_implement_required_interface_IStatusHandler__1;
-	public static String DebugPlugin_An_exception_occurred_while_dispatching_debug_events__2;
-	public static String DebugPlugin_An_exception_occurred_while_filtering_debug_events__3;
-	public static String DebugPlugin_31;
-	public static String DebugPlugin_0;
-	public static String DebugPlugin_1;
-
-	public static String EnvironmentVariableResolver_0;
-
-	public static String InputStreamMonitor_label;
-
-	public static String Launch_terminate_failed;
-
-	public static String LaunchConfiguration_Exception_occurred_creating_launch_configuration_memento_9;
-	public static String LaunchConfiguration_Exception_occurred_parsing_memento_5;
-	public static String LaunchConfiguration_Failed_to_delete_launch_configuration__1;
-	public static String LaunchConfiguration_Invalid_launch_configuration_memento__missing_path_attribute_3;
-	public static String LaunchConfiguration_Invalid_launch_configuration_memento__missing_local_attribute_4;
-	public static String LaunchConfiguration_Unable_to_restore_location_for_launch_configuration_from_memento___0__1;
-	public static String LaunchConfiguration_Unable_to_generate_memento_for__0___shared_file_does_not_exist__1;
-	public static String LaunchConfiguration_13;
-	public static String LaunchConfigurationDelegate_6;
-	public static String LaunchConfigurationDelegate_7;
-
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1;
-	public static String LaunchConfigurationInfo_Invalid_launch_configuration_XML__10;
-	public static String LaunchConfigurationInfo_missing_type;
-	public static String LaunchConfigurationInfo_36;
-
-	public static String LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1;
-	public static String LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2;
-	public static String LaunchConfigurationWorkingCopy_5;
-
-	public static String LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1;
-	public static String LaunchManager_Invalid_launch_configuration_index__18;
-	public static String LaunchManager_Invalid_source_locator_extentsion_defined_by_plug_in____0_______id___not_specified_12;
-	public static String LaunchManager_does_not_exist;
-	public static String LaunchManager_Source_locator_does_not_exist___0__13;
-	public static String LaunchManager_Invalid_launch_configuration_comparator_extension_defined_by_plug_in__0____attribute_not_specified_1;
-	public static String LaunchManager_An_exception_occurred_during_launch_change_notification__1;
-	public static String LaunchManager_An_exception_occurred_during_launch_configuration_change_notification__3;
-	public static String LaunchManager_30;
-
-	public static String LaunchMode_1;
-
-	public static String LogicalStructureType_7;
-	public static String LogicalStructureType_0;
-	public static String LogicalStructureProvider_0;
-	public static String LogicalStructureProvider_1;
-
-	public static String OutputStreamMonitor_label;
-
-	public static String ProcessMonitorJob_0;
-
-	public static String RuntimeProcess_terminate_failed;
-	public static String RuntimeProcess_Exit_value_not_available_until_process_terminates__1;
-
-	public static String ExpressionManager_An_exception_occurred_during_expression_change_notification__1;
-
-	public static String LaunchConfigurationType_Launch_delegate_for__0__does_not_implement_required_interface_ILaunchConfigurationDelegate__1;
-	public static String LaunchConfigurationType_9;
-	public static String LaunchConfigurationType_10;
-
-	public static String MemoryRenderingManager_ErrorMsg;
-	public static String WatchExpression_0;
-	public static String NullStreamsProxy_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, DebugCoreMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
deleted file mode 100644
index d253c19..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Breakpoint_no_associated_marker=Breakpoint does not have an associated marker.
-
-BreakpointManager_Missing_breakpoint_definition=Missing breakpoint definition for marker type {0}
-BreakpointManager_Missing_model_identifier=Breakpoint missing debug model identifier
-BreakpointManager_Breakpoint_extension__0__missing_required_attribute__markerType_1=Breakpoint extension {0} missing required attribute: markerType
-BreakpointManager_Breakpoint_extension__0__missing_required_attribute__class_2=Breakpoint extension {0} missing required attribute: class
-BreakpointManager_Class__0__specified_by_breakpoint_extension__1__does_not_implement_required_interface_IBreakpoint__3=Class {0} specified by breakpoint extension {1} does not implement required interface IBreakpoint.
-BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__4=An exception occurred during breakpoint change notification.
-BreakpointManager_An_exception_occurred_during_breakpoint_change_notification__5=An exception occurred during breakpoint change notification.
-
-DebugEvent_illegal_detail=detail is not one of the allowed constants, see IDebugEventConstants
-DebugEvent_illegal_kind=kind is not one of the allowed constants, see IDebugEventConstants
-
-DebugPlugin_Invalid_status_handler_extension___0__2=Invalid status handler extension: {0}
-DebugPlugin_Debug_async_queue_1=Debug async queue
-DebugPlugin_Exception_occurred_executing_command_line__1=Exception occurred executing command line.
-DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2=Eclipse runtime does not support working directory
-DebugPlugin_Registered_status_handler__0__does_not_implement_required_interface_IStatusHandler__1=Registered status handler {0} does not implement required interface IStatusHandler.
-DebugPlugin_An_exception_occurred_while_dispatching_debug_events__2=An exception occurred while dispatching debug events.
-DebugPlugin_An_exception_occurred_while_filtering_debug_events__3=An exception occurred while filtering debug events.
-DebugPlugin_31=Invalid process factory extension contributed by {0}; id: {1}
-DebugPlugin_0=Exception processing debug async queue
-DebugPlugin_1=Debug Event Dispatch
-
-EnvironmentVariableResolver_0=Environment variable not specified
-
-InputStreamMonitor_label=Input Stream Monitor
-
-Launch_terminate_failed=Terminate failed
-
-LaunchConfiguration_Exception_occurred_creating_launch_configuration_memento_9=Exception occurred creating launch configuration memento
-LaunchConfiguration_Exception_occurred_parsing_memento_5=Exception occurred parsing memento
-LaunchConfiguration_Failed_to_delete_launch_configuration__1=Failed to delete launch configuration.
-LaunchConfiguration_Invalid_launch_configuration_memento__missing_path_attribute_3=Invalid launch configuration memento: missing path attribute
-LaunchConfiguration_Invalid_launch_configuration_memento__missing_local_attribute_4=Invalid launch configuration memento: missing local attribute
-LaunchConfiguration_Unable_to_restore_location_for_launch_configuration_from_memento___0__1=Unable to restore location for launch configuration from memento: {0}
-LaunchConfiguration_Unable_to_generate_memento_for__0___shared_file_does_not_exist__1=Unable to generate memento for {0}, shared file does not exist.
-LaunchConfiguration_13=Incompatible launch mode: expecting {0} instead of {1}
-LaunchConfigurationDelegate_6=Searching for errors
-LaunchConfigurationDelegate_7=Searching for errors in {0}
-
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3=Attribute {0} is not of type boolean.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2=Attribute {0} is not of type int.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1=Attribute {0} is not of type java.lang.String.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1=Attribute {0} is not of type java.util.List.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1=Attribute {0} is not of type java.util.Map.
-LaunchConfigurationInfo_Invalid_launch_configuration_XML__10=Invalid launch configuration XML.
-LaunchConfigurationInfo_missing_type=Launch configuration type id \"{0}\" does not exist.\nPossible causes:\n\tMissing specification of a launch type (missing plug-in)\n\tIncorrect launch configuration XML
-LaunchConfigurationInfo_36=A null key has been specified for an attribute in this launch configuration
-
-LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1={0} occurred generating launch configuration XML.
-LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2=Specified container for launch configuration does not exist
-LaunchConfigurationWorkingCopy_5=Unable to save launch configuration.
-
-LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1={0} occurred while reading launch configuration file: {1}.
-LaunchManager_Invalid_launch_configuration_index__18=Invalid launch configuration index.
-LaunchManager_Invalid_source_locator_extentsion_defined_by_plug_in____0_______id___not_specified_12=Invalid source locator extension defined by plug-in \"{0}\": \"id\" not specified
-LaunchManager_does_not_exist=Launch configuration {0} at {1} does not exist.
-LaunchManager_Source_locator_does_not_exist___0__13=Source locator does not exist: {0}
-LaunchManager_Invalid_launch_configuration_comparator_extension_defined_by_plug_in__0____attribute_not_specified_1=Invalid launch configuration comparator extension defined by plug-in {0} - attribute not specified
-LaunchManager_An_exception_occurred_during_launch_change_notification__1=An exception occurred during launch change notification.
-LaunchManager_An_exception_occurred_during_launch_configuration_change_notification__3=An exception occurred during launch configuration change notification.
-LaunchManager_30=Unable to retrieve shared launch configuration file for {0}
-
-LaunchMode_1=Required attribute {0} missing for launchMode extension.
-
-LogicalStructureType_7=Required attribute {0} missing for logicalStructureType extension.
-LogicalStructureType_0=<Missing Description>
-LogicalStructureProvider_0=Required attribute modelIdentifier missing for logicalStructureType extension.
-LogicalStructureProvider_1=Required attribute class missing for logicalStructureType extension.
-
-OutputStreamMonitor_label=Output Stream Monitor
-
-ProcessMonitorJob_0=Process monitor
-
-RuntimeProcess_terminate_failed=Terminate failed
-RuntimeProcess_Exit_value_not_available_until_process_terminates__1=Exit value not available until process terminates.
-
-ExpressionManager_An_exception_occurred_during_expression_change_notification__1=An exception occurred during expression change notification.
-
-LaunchConfigurationType_Launch_delegate_for__0__does_not_implement_required_interface_ILaunchConfigurationDelegate__1=Launch delegate for {0} does not implement required interface ILaunchConfigurationDelegate.
-LaunchConfigurationType_9=Launch mode {0} not supported for configuration type {1}
-LaunchConfigurationType_10=Launch delegate not registered for configuration type {0}, mode {1}
-
-MemoryRenderingManager_ErrorMsg = The selected rendering cannot be created: {0}
-WatchExpression_0=(Watch expressions not supported)
-NullStreamsProxy_0=Null Stream Monitor
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
deleted file mode 100644
index ba4595b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.osgi.service.environment.Constants;
-
-/**
- * Resolves the value of environment variables. 
- */
-public class EnvironmentVariableResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		if (argument == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugCoreMessages.EnvironmentVariableResolver_0, null)); //$NON-NLS-1$
-		}
-		Map map= DebugPlugin.getDefault().getLaunchManager().getNativeEnvironmentCasePreserved();
-        String value= (String) map.get(argument);
-		if (value == null && Platform.getOS().equals(Constants.OS_WIN32)) {
-			// On Win32, env variables are case insensitive, so we search the map
-            // for matches manually.
-            Iterator iter = map.entrySet().iterator();
-            while (iter.hasNext()) {
-                Map.Entry entry= ((Map.Entry) iter.next());
-                String key= (String) entry.getKey();
-                if (key.equalsIgnoreCase(argument)) {
-                    return (String) entry.getValue();
-                }
-            }
-		}
-		return value;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
deleted file mode 100644
index 913b1a3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,583 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IExpressionListener;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The expression manager manages all registered expressions
- * for the debug plugin. It is instantiated by the debug plugin
- * at startup.
- *
- * @see IExpressionManager
- */
-public class ExpressionManager extends PlatformObject implements IExpressionManager, IDebugEventSetListener {
-	
-	/**
-	 * Collection of registered expressions.
-	 */
-	private Vector fExpressions = null;
-	
-	/**
-	 * List of expression listeners
-	 */
-	private ListenerList fListeners = null;
-	
-	/**
-	 * List of (multi) expressions listeners
-	 */
-	private ListenerList fExpressionsListeners = null;
-	
-	/**
-	 * Mapping of debug model identifiers (String) to
-	 * expression delegate extensions (IConfigurationElement)
-	 */
-	private Map fWatchExpressionDelegates= new HashMap();	
-	
-	// Constants for add/remove/change notification
-	private static final int ADDED = 1;
-	private static final int CHANGED = 2;
-	private static final int REMOVED = 3;
-
-	// Preference for persisted watch expressions
-	private static final String PREF_WATCH_EXPRESSIONS= "prefWatchExpressions"; //$NON-NLS-1$
-	// Persisted watch expression XML tags
-	private static final String WATCH_EXPRESSIONS_TAG= "watchExpressions"; //$NON-NLS-1$
-	private static final String EXPRESSION_TAG= "expression"; //$NON-NLS-1$
-	private static final String TEXT_TAG= "text"; //$NON-NLS-1$
-	private static final String ENABLED_TAG= "enabled"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	
-	public ExpressionManager() {
-		loadPersistedExpressions();
-		loadWatchExpressionDelegates();
-	}
-	
-	/**
-	 * Loads the mapping of debug models to watch expression delegates
-	 * from the org.eclipse.debug.core.watchExpressionDelegates
-	 * extension point.
-	 */
-	private void loadWatchExpressionDelegates() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), "watchExpressionDelegates"); //$NON-NLS-1$
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
-			if (element.getName().equals("watchExpressionDelegate")) { //$NON-NLS-1$
-				String debugModel = element.getAttribute("debugModel"); //$NON-NLS-1$
-				if (debugModel == null || debugModel.length() == 0) {
-					continue;
-				}
-				fWatchExpressionDelegates.put(debugModel, element);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#newWatchExpressionDelegate(java.lang.String)
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String debugModel) {
-		try {
-			IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(debugModel);
-			if (element != null) {
-				return (IWatchExpressionDelegate) element.createExecutableExtension("delegateClass"); //$NON-NLS-1$
-			} 
-			return null;
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.IExpressionManager#hasWatchExpressionDelegate(java.lang.String)
-     */
-    public boolean hasWatchExpressionDelegate(String id) {
-        IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(id);
-        return element != null;
-    }
-    
-	/**
-	 * Loads any persisted watch expresions from the preferences.
-	 * NOTE: It's important that no setter methods are called on
-	 * 		the watchpoints which will fire change events as this
-	 * 		will cause an infinite loop (see Bug 27281).
-	 */
-	private void loadPersistedExpressions() {
-		String expressionsString= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_WATCH_EXPRESSIONS);
-		if (expressionsString.length() == 0) {
-			return;
-		}
-		Element root;
-		try {
-			root = DebugPlugin.parseDocument(expressionsString);
-		} catch (CoreException e) {
-			DebugPlugin.logMessage("An exception occurred while loading watch expressions.", e); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(WATCH_EXPRESSIONS_TAG)) {
-			DebugPlugin.logMessage("Invalid format encountered while loading watch expressions.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		boolean expressionsAdded= false;
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(EXPRESSION_TAG)) {
-					DebugPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading watch expressions: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String expressionText= element.getAttribute(TEXT_TAG);
-				if (expressionText.length() > 0) {
-					boolean enabled= TRUE_VALUE.equals(element.getAttribute(ENABLED_TAG));
-					IWatchExpression expression= newWatchExpression(expressionText, enabled);
-					if (fExpressions == null) {
-						fExpressions= new Vector(list.getLength());
-					}
-					fExpressions.add(expression);
-					expressionsAdded= true;
-				} else {
-					DebugPlugin.logMessage("Invalid expression entry encountered while loading watch expressions. Expression text is empty.", null); //$NON-NLS-1$
-				}
-			}
-		}
-		if (expressionsAdded) {
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-	}
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 * @return the new watch expression
-	 */
-	private IWatchExpression newWatchExpression(String expressionText, boolean enabled) {
-		return new WatchExpression(expressionText, enabled);
-	}
-
-	/**
-	 * @see IExpressionManager#newWatchExpression(String)
-	 */
-	public IWatchExpression newWatchExpression(String expressionText) {
-		return new WatchExpression(expressionText);
-	}
-	
-	/**
-	 * Persists this manager's watch expressions as XML in the
-	 * preference store. 
-	 */
-	public void storeWatchExpressions() {
-		Preferences prefs= DebugPlugin.getDefault().getPluginPreferences();
-		String expressionString= ""; //$NON-NLS-1$
-		try {
-			expressionString= getWatchExpressionsAsXML();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		} catch (ParserConfigurationException e) {
-			DebugPlugin.log(e);
-		} catch (TransformerException e) {
-			DebugPlugin.log(e);
-		}
-		prefs.setValue(PREF_WATCH_EXPRESSIONS, expressionString);
-		DebugPlugin.getDefault().savePluginPreferences();
-	}
-
-	/**
-	 * Returns this manager's watch expressions as XML.
-	 * @return this manager's watch expressions as XML
-	 * @throws IOException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws ParserConfigurationException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws TransformerException if an exception occurs while creating
-	 * 		the XML document.
-	 */
-	private String getWatchExpressionsAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IExpression[] expressions= getExpressions();
-		Document document= LaunchManager.getDocument();
-		Element rootElement= document.createElement(WATCH_EXPRESSIONS_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression= expressions[i];
-			if (expression instanceof IWatchExpression) {
-				Element element= document.createElement(EXPRESSION_TAG); 
-				element.setAttribute(TEXT_TAG, expression.getExpressionText());
-				element.setAttribute(ENABLED_TAG, ((IWatchExpression) expression).isEnabled() ? TRUE_VALUE : FALSE_VALUE);
-				rootElement.appendChild(element);
-			}
-		}
-		return LaunchManager.serializeDocument(document);
-	}
-
-	/**
-	 * @see IExpressionManager#addExpression(IExpression)
-	 */
-	public void addExpression(IExpression expression) {
-		addExpressions(new IExpression[]{expression});
-	}
-	
-	/**
-	 * @see IExpressionManager#addExpressions(IExpression[])
-	 */
-	public void addExpressions(IExpression[] expressions) {
-		if (fExpressions == null) {
-			fExpressions = new Vector(expressions.length);
-		}
-		boolean addedWatchExpression= false;
-		boolean wasEmpty = fExpressions.isEmpty();
-		List added = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.indexOf(expression) == -1) {
-				added.add(expression);
-				fExpressions.add(expression);
-				if (expression instanceof IWatchExpression) {
-					addedWatchExpression= true;
-				}
-			}				
-		}
-		if (wasEmpty) {
-			DebugPlugin.getDefault().addDebugEventListener(this);	
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), ADDED);
-		}
-		if (addedWatchExpression) {
-			storeWatchExpressions();
-		}
-	}	
-
-	/**
-	 * @see IExpressionManager#getExpressions()
-	 */
-	public IExpression[] getExpressions() {
-		if (fExpressions == null) {
-			return new IExpression[0];
-		}
-		IExpression[] temp= new IExpression[fExpressions.size()];
-		fExpressions.copyInto(temp);
-		return temp;
-	}
-
-	/**
-	 * @see IExpressionManager#getExpressions(String)
-	 */
-	public IExpression[] getExpressions(String modelIdentifier) {
-		if (fExpressions == null) {
-			return new IExpression[0];
-		}
-		ArrayList temp= new ArrayList(fExpressions.size());
-		Iterator iter= fExpressions.iterator();
-		while (iter.hasNext()) {
-			IExpression expression= (IExpression) iter.next();
-			String id= expression.getModelIdentifier();
-			if (id != null && id.equals(modelIdentifier)) {
-				temp.add(expression);
-			}
-		}
-		return (IExpression[]) temp.toArray(new IExpression[temp.size()]);
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpression(IExpression)
-	 */
-	public void removeExpression(IExpression expression) {
-		removeExpressions(new IExpression[] {expression});
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpressions(IExpression[])
-	 */
-	public void removeExpressions(IExpression[] expressions) {
-		if (fExpressions == null) {
-			return;
-		}
-		List removed = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.remove(expression)) {
-				removed.add(expression);
-				expression.dispose();
-			}				
-		}
-		if (fExpressions.isEmpty()) {
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-		if (!removed.isEmpty()) {
-			fireUpdate((IExpression[])removed.toArray(new IExpression[removed.size()]), REMOVED);
-			storeWatchExpressions();
-		}
-	}	
-	
-	/**
-	 * @see IExpressionManager#addExpressionListener(IExpressionListener)
-	 */
-	public void addExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList(2);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpressionListener(IExpressionListener)
-	 */
-	public void removeExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			return;
-		}
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvent(DebugEvent)
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		List changed = null;
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() instanceof IExpression) {
-				switch (event.getKind()) {
-					case DebugEvent.CHANGE:
-						if (changed == null) {
-							changed = new ArrayList(1);
-						}
-						changed.add(event.getSource());
-						break;
-					default:
-						break;
-				}
-			} 
-		}
-		if (changed != null) {
-			IExpression[] array = (IExpression[])changed.toArray(new IExpression[changed.size()]);
-			fireUpdate(array, CHANGED);
-		}
-	}
-	
-	/**
-	 * The given watch expression has changed. Update the persisted
-	 * expressions to store this change.
-	 * 
-	 * @param expression the changed expression
-	 */
-	protected void watchExpressionChanged(IWatchExpression expression) {
-		if (fExpressions != null && fExpressions.contains(expression)) {
-			storeWatchExpressions();
-			fireUpdate(new IExpression[]{expression}, CHANGED);
-		}
-	}
-
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param breakpoints associated breakpoints
-	 * @param deltas or <code>null</code>
-	 * @param update type of change
-	 */
-	private void fireUpdate(IExpression[] expressions, int update) {
-		// single listeners
-		getExpressionNotifier().notify(expressions, update);
-		
-		// multi listeners
-		getExpressionsNotifier().notify(expressions, update);
-	}	
-
-	/**
-	 * @see IExpressionManager#hasExpressions()
-	 */
-	public boolean hasExpressions() {
-		return fExpressions != null && !fExpressions.isEmpty();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionsListener)
-	 */
-	public void addExpressionListener(IExpressionsListener listener) {
-		if (fExpressionsListeners == null) {
-			fExpressionsListeners = new ListenerList(2);
-		}
-		fExpressionsListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IExpressionManager#removeExpressionListener(org.eclipse.debug.core.IExpressionsListener)
-	 */
-	public void removeExpressionListener(IExpressionsListener listener) {
-		if (fExpressionsListeners == null) {
-			return;
-		}
-		fExpressionsListeners.remove(listener);
-	}
-	
-	private ExpressionNotifier getExpressionNotifier() {
-		return new ExpressionNotifier();
-	}
-	
-	/**
-	 * Notifies an expression listener (single expression) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class ExpressionNotifier implements ISafeRunnable {
-		
-		private IExpressionListener fListener;
-		private int fType;
-		private IExpression fExpression;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.ExpressionManager_An_exception_occurred_during_expression_change_notification__1, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.expressionAdded(fExpression);
-					break;
-				case REMOVED:
-					fListener.expressionRemoved(fExpression);
-					break;
-				case CHANGED:
-					fListener.expressionChanged(fExpression);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies listeners of the add/change/remove
-		 * 
-		 * @param expression the expression that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IExpression[] expressions, int update) {
-			if (fListeners != null) {
-				fType = update;
-				Object[] copiedListeners= fListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionListener)copiedListeners[i];
-					for (int j = 0; j < expressions.length; j++) {
-						fExpression = expressions[j];
-						Platform.run(this);
-					}
-				}			
-			}
-			fListener = null;
-			fExpression = null;
-		}
-	}
-	
-	private ExpressionsNotifier getExpressionsNotifier() {
-		return new ExpressionsNotifier();
-	}
-	
-	/**
-	 * Notifies an expression listener (multiple expressions) in a safe runnable
-	 * to handle exceptions.
-	 */
-	class ExpressionsNotifier implements ISafeRunnable {
-		
-		private IExpressionsListener fListener;
-		private int fType;
-		private IExpression[] fNotifierExpressions;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.ExpressionManager_An_exception_occurred_during_expression_change_notification__1, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.expressionsAdded(fNotifierExpressions);
-					break;
-				case REMOVED:
-					fListener.expressionsRemoved(fNotifierExpressions);
-					break;
-				case CHANGED:
-					fListener.expressionsChanged(fNotifierExpressions);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies listeners of the adds/changes/removes
-		 * 
-		 * @param expressions the expressions that changed
-		 * @param update the type of change
-		 */
-		public void notify(IExpression[] expressions, int update) {
-			if (fExpressionsListeners != null) { 
-				fNotifierExpressions = expressions;
-				fType = update;
-				Object[] copiedListeners = fExpressionsListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionsListener)copiedListeners[i];
-					Platform.run(this);
-				}
-			}	
-			fNotifierExpressions = null;
-			fListener = null;				
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
deleted file mode 100644
index 693ed78..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Writes to the input stream of a system process, 
- * queueing output if the stream is blocked.
- * 
- * The input stream monitor writes to system in via
- * an output stream.
- */
-public class InputStreamMonitor {
-	
-	/**
-	 * The stream which is being written to (connected to system in).
-	 */
-	private OutputStream fStream;
-	/**
-	 * The queue of output.
-	 */
-	private Vector fQueue;
-	/**
-	 * The thread which writes to the stream.
-	 */
-	private Thread fThread;
-	/**
-	 * A lock for ensuring that writes to the queue are contiguous
-	 */
-	private Object fLock;
-	
-	/**
-	 * Wether the underlying output stream has been closed
-	 */
-	private boolean fClosed = false;
-	
-	/**
-	 * Creates an input stream monitor which writes
-	 * to system in via the given output stream.
-	 */
-	public InputStreamMonitor(OutputStream stream) {
-		fStream= stream;
-		fQueue= new Vector();
-		fLock= new Object();
-	}
-	
-	/**
-	 * Appends the given text to the stream, or
-	 * queues the text to be written at a later time
-	 * if the stream is blocked.
-	 */
-	public void write(String text) {
-		synchronized(fLock) {
-			fQueue.add(text);
-			fLock.notifyAll();
-		}
-	}
-
-	/**
-	 * Starts a thread which writes the stream.
-	 */
-	public void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					write();
-				}
-			}, DebugCoreMessages.InputStreamMonitor_label); //$NON-NLS-1$
-            fThread.setDaemon(true);
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * Close all communications between this
-	 * monitor and the underlying stream.
-	 */
-	public void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			thread.interrupt(); 
-		}
-	}
-	
-	/**
-	 * Continuously writes to the stream.
-	 */
-	protected void write() {
-		while (fThread != null) {
-			writeNext();
-		}
-		if (!fClosed) {
-			try {
-			    fStream.close();
-			} catch (IOException e) {
-				DebugPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Write the text in the queue to the stream.
-	 */
-	protected void writeNext() {
-		while (!fQueue.isEmpty() && !fClosed) {
-			String text = (String)fQueue.firstElement();
-			fQueue.removeElementAt(0);
-			try {
-				fStream.write(text.getBytes());
-				fStream.flush();
-			} catch (IOException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		try {
-			synchronized(fLock) {
-				fLock.wait();
-			}
-		} catch (InterruptedException e) {
-		}
-	}
-
-    /**
-     * Closes the output stream attached to the standard input stream of this
-     * monitor's process.
-     */
-    public void closeInputStream() throws IOException {
-        if (!fClosed) {
-            fClosed = true;
-            fStream.close();
-        } else {
-            throw new IOException();
-        }
-        
-    }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
deleted file mode 100644
index f2107e1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,604 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Launch configuration handle.
- * 
- * @see ILaunchConfiguration
- */
-public class LaunchConfiguration extends PlatformObject implements ILaunchConfiguration {
-	
-	/**
-	 * Location this configuration is stored in. This 
-	 * is the key for a launch configuration handle.
-	 */
-	private IPath fLocation;
-	
-	/**
-	 * Constructs a launch configuration in the given location.
-	 * 
-	 * @param location path to where this launch configuration's
-	 *  underlying file is located
-	 */
-	protected LaunchConfiguration(IPath location) {
-		setLocation(location);
-	}
-	
-	/**
-	 * Constructs a launch configuration from the given
-	 * memento.
-	 * 
-	 * @param memento launch configuration memento
-	 * @exception CoreException if the memento is invalid or
-	 * 	an exception occurs reading the memento
-	 */
-	protected LaunchConfiguration(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-			
-			String localString = root.getAttribute("local"); //$NON-NLS-1$
-			String path = root.getAttribute("path"); //$NON-NLS-1$
-
-			String message = null;				
-			if (path == null) {
-				message = DebugCoreMessages.LaunchConfiguration_Invalid_launch_configuration_memento__missing_path_attribute_3; //$NON-NLS-1$
-			} else if (localString == null) {
-				message = DebugCoreMessages.LaunchConfiguration_Invalid_launch_configuration_memento__missing_local_attribute_4; //$NON-NLS-1$
-			}
-			if (message != null) {
-				IStatus s = newStatus(message, DebugException.INTERNAL_ERROR, null);
-				throw new CoreException(s);
-			}
-			
-			IPath location = null;
-			boolean local = (Boolean.valueOf(localString)).booleanValue();
-			if (local) {
-				location = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.append(path);
-			} else {
-				location = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path)).getLocation();
-			}
-			setLocation(location);
-			if (location == null) {
-				IStatus s = newStatus(MessageFormat.format(DebugCoreMessages.LaunchConfiguration_Unable_to_restore_location_for_launch_configuration_from_memento___0__1, new String[]{path}), DebugPlugin.INTERNAL_ERROR, null); //$NON-NLS-1$
-				throw new CoreException(s);
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		IStatus s = newStatus(DebugCoreMessages.LaunchConfiguration_Exception_occurred_parsing_memento_5, DebugException.INTERNAL_ERROR, ex); //$NON-NLS-1$
-		throw new CoreException(s);
-	}
-	
-	/**
-	 * Creates and returns a new error status based on 
-	 * the given message, code, and exception.
-	 * 
-	 * @param message error message
-	 * @param code error code
-	 * @param e exception or <code>null</code>
-	 * @return status
-	 */
-	protected IStatus newStatus(String message, int code, Throwable e) {
-		return new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), code, message, e);
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#launch(String, IProgressMonitor)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException {
-		return launch(mode, monitor, false);
-	}
-	
-	/**
-	 * Set the source locator to use with the launch, if specified 
-	 * by this configuration.
-	 * 
-	 * @param launch the launch on which to set the source locator
-	 */
-	protected void initializeSourceLocator(ILaunch launch) throws CoreException {
-		if (launch.getSourceLocator() == null) {
-			String type = getAttribute(ATTR_SOURCE_LOCATOR_ID, (String)null);
-			if (type == null) {
-				type = getType().getSourceLocatorId();
-			}
-			if (type != null) {
-				IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);
-				String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-				if (memento == null) {
-					locator.initializeDefaults(this);
-				} else {
-					if(locator instanceof IPersistableSourceLocator2)
-						((IPersistableSourceLocator2)locator).initializeFromMemento(memento, this);
-					else
-						locator.initializeFromMemento(memento);
-				}
-				launch.setSourceLocator(locator);
-			}
-		}
-	}
-
-	/**
-	 * @see ILaunchConfiguration#supportsMode(String)
-	 */
-	public boolean supportsMode(String mode) throws CoreException {
-		return getType().supportsMode(mode);
-	}
-
-	/**
-	 * A configuration's name is that of the last segment
-	 * in it's location (subtract the ".launch" extension).
-	 * 
-	 * @see ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return getLastLocationSegment();
-	}
-	
-	private String getLastLocationSegment() {
-		String name = getLocation().lastSegment();
-		if (name.length() > LAUNCH_CONFIGURATION_FILE_EXTENSION.length()) {
-			name = name.substring(0, name.length() - (LAUNCH_CONFIGURATION_FILE_EXTENSION.length() + 1));
-		}
-		return name;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		return fLocation;
-	}
-
-	/**
-	 * Sets the location of this configuration's underlying
-	 * file.
-	 * 
-	 * @param location the location of this configuration's underlying
-	 *  file
-	 */
-	private void setLocation(IPath location) {
-		fLocation = location;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#exists()
-	 */
-	public boolean exists() {
-		return getLocation().toFile().exists();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, int)
-	 */
-	public int getAttribute(String attributeName, int defaultValue) throws CoreException {
-		return getInfo().getIntAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, String)
-	 */
-	public String getAttribute(String attributeName, String defaultValue) throws CoreException {
-		return getInfo().getStringAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, boolean)
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException {
-		return getInfo().getBooleanAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, List)
-	 */
-	public List getAttribute(String attributeName, List defaultValue) throws CoreException {
-		return getInfo().getListAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, Map)
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException {
-		return getInfo().getMapAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getType()
-	 */
-	public ILaunchConfigurationType getType() throws CoreException {
-		return getInfo().getType();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		IPath localPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		return localPath.isPrefixOf(getLocation());
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getWorkingCopy()
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
-		return new LaunchConfigurationWorkingCopy(this);
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#copy(String name)
-	 */
-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = new LaunchConfigurationWorkingCopy(this, name);
-		return copy;
-	}	
-
-	/**
-	 * @see ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#delete()
-	 */
-	public void delete() throws CoreException {
-		if (exists()) {
-			if (isLocal()) {
-				if (!(getLocation().toFile().delete())) {
-					throw new DebugException(
-						new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfiguration_Failed_to_delete_launch_configuration__1, null) //$NON-NLS-1$
-					);
-				}
-				// manually update the launch manager cache since there
-				// will be no resource delta
-				getLaunchManager().launchConfigurationDeleted(this);
-			} else {
-				// delete the resource using IFile API such that
-				// resource deltas are fired.
-				IFile file = getFile();
-				if (file != null) {
-					// validate edit
-					if (file.isReadOnly()) {
-						IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
-						if (!status.isOK()) {
-							throw new CoreException(status);
-						}
-					}
-					file.delete(true, null);
-				} else {
-					// Error - the exists test passed, but could not locate file 
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the info object containing the attributes
-	 * of this configuration
-	 * 
-	 * @return info for this handle
-	 * @exception CoreException if unable to retrieve the
-	 *  info object
-	 */
-	protected LaunchConfigurationInfo getInfo() throws CoreException {
-		return getLaunchManager().getInfo(this);
-	}
-	
-	/**
-	 * Returns the launch configuration delegate for this
-	 * launch configuration, for the specified launch mode.
-	 * 
-	 * @param mode launch mode
-	 * @return launch configuration delegate
-	 * @exception CoreException if the delegate was unable
-	 *  to be created
-	 */
-	protected ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException {
-		return getType().getDelegate(mode);
-	}
-	
-	/**
-	 * Returns the launch manager
-	 * 
-	 * @return launch manager
-	 */
-	protected LaunchManager getLaunchManager() {
-		return (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		IPath relativePath = null;
-		if (isLocal()) {
-			IPath rootPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			IPath configPath = getLocation();
-			relativePath = configPath.removeFirstSegments(rootPath.segmentCount());
-			relativePath = relativePath.setDevice(null);
-		} else {
-			IFile file = getFile();
-			if (file == null) {
-				// cannot generate memento - missing file
-				IStatus status = newStatus(MessageFormat.format(DebugCoreMessages.LaunchConfiguration_Unable_to_generate_memento_for__0___shared_file_does_not_exist__1, new String[]{getName()}), DebugException.INTERNAL_ERROR, null); //$NON-NLS-1$
-				throw new CoreException(status); 
-			}
-			relativePath = getFile().getFullPath();
-		}
-		Exception e= null;
-		try {
-			Document doc = LaunchManager.getDocument();
-			Element node = doc.createElement("launchConfiguration"); //$NON-NLS-1$
-			doc.appendChild(node);
-			node.setAttribute("local", (new Boolean(isLocal())).toString()); //$NON-NLS-1$
-			node.setAttribute("path", relativePath.toString()); //$NON-NLS-1$
-			return LaunchManager.serializeDocument(doc);
-		} catch (IOException ioe) {
-			e= ioe;
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;
-		}
-		if (e != null) {
-			IStatus status = newStatus(DebugCoreMessages.LaunchConfiguration_Exception_occurred_creating_launch_configuration_memento_9, DebugException.INTERNAL_ERROR,  e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-		//execution will never reach here
-		return null;
-		
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getFile()
-	 */	
-	public IFile getFile() {
-		if (isLocal()) {
-			return null;
-		}
-		IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(getLocation());
-		if (files.length > 0) {
-			return files[0];
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#contentsEqual(ILaunchConfiguration)
-	 */
-	public boolean contentsEqual(ILaunchConfiguration object) {
-		try {
-			if (object instanceof LaunchConfiguration) {
-				LaunchConfiguration otherConfig = (LaunchConfiguration) object;
-				return getName().equals(otherConfig.getName())
-				 	 && getType().equals(otherConfig.getType())
-				 	 && getLocation().equals(otherConfig.getLocation())
-					 && getInfo().equals(otherConfig.getInfo());
-			}
-			return false;
-		} catch (CoreException ce) {
-			return false;
-		}
-	}
-
-	/**
-	 * Returns whether this configuration is equal to the
-	 * given configuration. Two configurations are equal if
-	 * they are stored in the same location (and neither one
-	 * is a working copy).
-	 * 
-	 * @return whether this configuration is equal to the
-	 *  given configuration
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (object instanceof ILaunchConfiguration) {
-			if (isWorkingCopy()) {
-				return this == object;
-			} 
-			ILaunchConfiguration config = (ILaunchConfiguration) object;
-			if (!config.isWorkingCopy()) {
-				return config.getLocation().equals(getLocation());
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getLocation().hashCode();
-	}
-	
-	/**
-	 * Returns the container this launch configuration is 
-	 * stored in, or <code>null</code> if this launch configuration
-	 * is stored locally.
-	 * 
-	 * @return the container this launch configuration is 
-	 * stored in, or <code>null</code> if this launch configuration
-	 * is stored locally
-	 */
-	protected IContainer getContainer() {
-		IFile file = getFile();
-		if (file != null) {
-			return file.getParent();
-		}
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getCategory()
-	 */
-	public String getCategory() throws CoreException {
-		return getType().getCategory();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttributes()
-	 */
-	public Map getAttributes() throws CoreException {
-		LaunchConfigurationInfo info = getInfo();
-		return info.getAttributes();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException {
-	    return launch(mode, monitor, build, true);
-	}
-	
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean, boolean)
-     */
-    public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException {
-		// bug 28245 - force the delegate to load in case it is interested in launch notifications
-		ILaunchConfigurationDelegate delegate= getDelegate(mode);
-		ILaunchConfigurationDelegate2 delegate2 = null;
-		if (delegate instanceof ILaunchConfigurationDelegate2) {
-			delegate2 = (ILaunchConfigurationDelegate2) delegate;
-		}
-		// allow the delegate to provide a launch implementation
-		ILaunch launch = null;
-		if (delegate2 != null) {
-			launch = delegate2.getLaunch(this, mode);
-		}
-		if (launch == null) {
-			launch = new Launch(this, mode, null);
-		} else {
-			// ensure the launch mode is valid
-			if (!mode.equals(launch.getLaunchMode())) {
-				IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, 
-						MessageFormat.format(DebugCoreMessages.LaunchConfiguration_13, new String[]{mode, launch.getLaunchMode()}), null); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-		}
-		
-		boolean captureOutput = getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, true);
-		if(!captureOutput) {
-		    launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, "false"); //$NON-NLS-1$
-		} else {
-		    launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, null);
-		}
-		
-		
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}		
-		// perform initial pre-launch sanity checks
-		if (delegate2 != null) {
-			if (!(delegate2.preLaunchCheck(this, mode, monitor))) {
-				// canceled
-				monitor.setCanceled(true);
-				return launch;
-			}
-		}
-		// preform pre-launch build
-		IProgressMonitor subMonitor = monitor;
-		if (build) {
-			subMonitor = new SubProgressMonitor(monitor, 100);
-			if (delegate2 != null) {
-				build = delegate2.buildForLaunch(this, mode, subMonitor);
-			}
-			if (build) {
-				ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, subMonitor);				
-			}
-			subMonitor = new SubProgressMonitor(monitor, 100);
-		}
-		// final validation
-		if (delegate2 != null) {
-			if (!(delegate2.finalLaunchCheck(this, mode, subMonitor))) {
-				// canceled
-				monitor.setCanceled(true);
-				return launch;
-			}
-		}
-		
-		if (register) {
-		    getLaunchManager().addLaunch(launch);
-		}
-		try {
-			initializeSourceLocator(launch);
-			delegate.launch(this, mode, launch, subMonitor);
-		} catch (CoreException e) {
-			// if there was an exception, and the launch is empty, remove it
-			if (!launch.hasChildren()) {
-				getLaunchManager().removeLaunch(launch);
-			}
-			throw e;
-		}
-		if (monitor.isCanceled()) {
-			getLaunchManager().removeLaunch(launch);
-		}
-		return launch;
-    }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
deleted file mode 100644
index dfd542a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Proxy to a runtime classpath entry resolver extension.
- */
-public class LaunchConfigurationComparator implements Comparator {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private Comparator fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 */
-	public LaunchConfigurationComparator(IConfigurationElement element) {
-		fConfigurationElement = element;
-	}
-		
-	/**
-	 * Returns the resolver delegate (and creates if required) 
-	 */
-	protected Comparator getComparator() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (Comparator)fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-	
-
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		return getComparator().compare(o1, o2);
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		return getComparator().equals(obj);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
deleted file mode 100644
index 1b4e70e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
- 
-/**
- * The information associated with a launch configuration
- * handle.
- */
-public class LaunchConfigurationInfo {
-
-	/**
-	 * This configurations attribute table.
-	 * Keys are <code>String</code>s and values
-	 * are one of <code>String</code>, <code>Integer</code>,
-	 * or <code>Boolean</code>.
-	 */
-	private HashMap fAttributes;
-	
-	/**
-	 * This launch configuration's type
-	 */
-	private ILaunchConfigurationType fType;
-	
-	/**
-	 * Constructs a new empty info
-	 */
-	protected LaunchConfigurationInfo() {
-		setAttributeTable(new HashMap(10));
-	}
-	
-	/**
-	 * Returns this configuration's attribute table.
-	 * 
-	 * @return attribute table
-	 */
-	private HashMap getAttributeTable() {
-		return fAttributes;
-	}
-
-	/**
-	 * Sets this configuration's attribute table.
-	 * 
-	 * @param table attribute table
-	 */	
-	private void setAttributeTable(HashMap table) {
-		fAttributes = table;
-	}
-	
-	/**
-	 * Sets the attributes in this info to those in the given map.
-	 * 
-	 * @param map
-	 */
-	protected void setAttributes(Map map) {
-		if (map == null) {
-			setAttributeTable(new HashMap());
-			return;
-		}
-		Set entrySet = map.entrySet();
-		HashMap attributes = new HashMap(entrySet.size());
-		Iterator iter = entrySet.iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry)iter.next();
-			attributes.put(entry.getKey(), entry.getValue());
-		}
-		setAttributeTable(attributes);
-	}
-	
-	/**
-	 * Returns the <code>String</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not a <code>String</code>
-	 */
-	protected String getStringAttribute(String key, String defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof String) {
-				return (String)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1, new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>int</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not an <code>int</code>
-	 */
-	protected int getIntAttribute(String key, int defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Integer) {
-				return ((Integer)attr).intValue();
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2, new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>boolean</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not a <code>boolean</code>
-	 */
-	protected boolean getBooleanAttribute(String key, boolean defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Boolean) {
-				return ((Boolean)attr).booleanValue();
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3, new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.List</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not a <code>java.util.List</code>
-	 */
-	protected List getListAttribute(String key, List defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof List) {
-				return (List)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1, new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.Map</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not a <code>java.util.Map</code>
-	 */
-	protected Map getMapAttribute(String key, Map defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Map) {
-				return (Map)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1, new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/** 
-	 * Sets this configuration's type.
-	 * 
-	 * @param type launch configuration type
-	 */
-	protected void setType(ILaunchConfigurationType type) {
-		fType = type;
-	}
-	
-	/** 
-	 * Returns this configuration's type.
-	 * 
-	 * @return launch configuration type
-	 */
-	protected ILaunchConfigurationType getType() {
-		return fType;
-	}	
-	
-	
-	/**
-	 * Returns a copy of this info object
-	 * 
-	 * @return copy of this info
-	 */
-	protected LaunchConfigurationInfo getCopy() {
-		LaunchConfigurationInfo copy = new LaunchConfigurationInfo();
-		copy.setType(getType());
-		copy.setAttributeTable(getAttributes());
-		return copy;
-	}
-	
-	/**
-	 * Returns a copy of this info's attribute map.
-	 * 
-	 * @return a copy of this info's attribute map
-	 */
-	protected HashMap getAttributes() {
-		return (HashMap)getAttributeTable().clone();
-	}
-	
-	/**
-	 * Sets the given attribute to the given value. Only
-	 * working copy's should use this API.
-	 * 
-	 * @param key attribute key
-	 * @param value attribute value
-	 */
-	protected void setAttribute(String key, Object value) {
-		if (value == null) {
-			getAttributeTable().remove(key);
-		} else {
-			getAttributeTable().put(key, value);
-		}
-	}
-	
-	/**
-	 * Returns the content of this info as XML
-	 * 
-	 * @return the content of this info as XML
-	 * @throws CoreException if a attribute has been set with a null key
-	 * @throws IOException if an exception occurs creating the XML
-	 * @throws ParserConfigurationException if an exception occurs creating the XML
-	 * @throws TransformerException if an exception occurs creating the XML
-	 */
-	protected String getAsXML() throws CoreException, IOException, ParserConfigurationException, TransformerException {
-
-		Document doc = LaunchManager.getDocument();
-		Element configRootElement = doc.createElement("launchConfiguration"); //$NON-NLS-1$
-		doc.appendChild(configRootElement);
-		
-		configRootElement.setAttribute("type", getType().getIdentifier()); //$NON-NLS-1$
-		
-		Iterator keys = getAttributeTable().keySet().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			if (key == null) {
-				throw new DebugException(
-					new Status(
-						IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_36, null //$NON-NLS-1$
-					)
-				);
-			}
-			Object value = getAttributeTable().get(key);
-			if (value == null) {
-				continue;
-			}
-			Element element = null;
-			String valueString = null;
-			if (value instanceof String) {
-				valueString = (String)value;
-				element = createKeyValueElement(doc, "stringAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof Integer) {
-				valueString = ((Integer)value).toString();
-				element = createKeyValueElement(doc, "intAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof Boolean) {
-				valueString = ((Boolean)value).toString();
-				element = createKeyValueElement(doc, "booleanAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof List) {				
-				element = createListElement(doc, "listAttribute", key, (List)value); //$NON-NLS-1$
-			} else if (value instanceof Map) {				
-				element = createMapElement(doc, "mapAttribute", key, (Map)value); //$NON-NLS-1$
-			}			
-			configRootElement.appendChild(element);
-		}
-
-		return LaunchManager.serializeDocument(doc);
-	}
-	
-	/**
-	 * Helper method that creates a 'key value' element of the specified type with the 
-	 * specified attribute values.
-	 */
-	protected Element createKeyValueElement(Document doc, String elementType, String key, String value) {
-		Element element = doc.createElement(elementType);
-		element.setAttribute("key", key); //$NON-NLS-1$
-		element.setAttribute("value", value); //$NON-NLS-1$
-		return element;
-	}
-	
-	protected Element createListElement(Document doc, String elementType, String listKey, List list) {
-		Element listElement = doc.createElement(elementType);
-		listElement.setAttribute("key", listKey); //$NON-NLS-1$
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String value = (String) iterator.next();
-			Element element = doc.createElement("listEntry"); //$NON-NLS-1$
-			element.setAttribute("value", value); //$NON-NLS-1$
-			listElement.appendChild(element);
-		}		
-		return listElement;
-	}
-	
-	protected Element createMapElement(Document doc, String elementType, String mapKey, Map map) {
-		Element mapElement = doc.createElement(elementType);
-		mapElement.setAttribute("key", mapKey); //$NON-NLS-1$
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			String value = (String) map.get(key);
-			Element element = doc.createElement("mapEntry"); //$NON-NLS-1$
-			element.setAttribute("key", key); //$NON-NLS-1$
-			element.setAttribute("value", value); //$NON-NLS-1$
-			mapElement.appendChild(element);
-		}		
-		return mapElement;		
-	}
-	
-	protected void initializeFromXML(Element root) throws CoreException {
-		if (!root.getNodeName().equalsIgnoreCase("launchConfiguration")) { //$NON-NLS-1$
-			throw getInvalidFormatDebugException();
-		}
-		
-		// read type
-		String id = root.getAttribute("type"); //$NON-NLS-1$
-		if (id == null) {
-			throw getInvalidFormatDebugException();
-		} 
-		
-		ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
-		if (type == null) {
-			String message= MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_missing_type, new Object[]{id}); //$NON-NLS-1$
-			throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, message, null)
-				);
-		}
-		setType(type);
-		
-		NodeList list = root.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.ELEMENT_NODE) {
-				Element element = (Element) node;
-				String nodeName = element.getNodeName();
-				
-				if (nodeName.equalsIgnoreCase("stringAttribute")) { //$NON-NLS-1$
-					setStringAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("intAttribute")) { //$NON-NLS-1$
-					setIntegerAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("booleanAttribute"))  { //$NON-NLS-1$
-					setBooleanAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("listAttribute")) {   //$NON-NLS-1$
-					setListAttribute(element);					
-				} else if (nodeName.equalsIgnoreCase("mapAttribute")) {    //$NON-NLS-1$
-					setMapAttribute(element);										
-				}
-			}
-		}
-	}	
-	
-	protected void setStringAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, value);
-	}
-	
-	protected void setIntegerAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, new Integer(value));
-	}
-	
-	protected void setBooleanAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, new Boolean(value));
-	}
-	
-	protected void setListAttribute(Element element) throws CoreException {
-		String listKey = element.getAttribute("key");  //$NON-NLS-1$
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		List list = new ArrayList(entryCount);
-		for (int i = 0; i < entryCount; i++) {
-			Node node = nodeList.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element subElement = (Element) node;
-				String nodeName = subElement.getNodeName();				
-				if (!nodeName.equalsIgnoreCase("listEntry")) { //$NON-NLS-1$
-					throw getInvalidFormatDebugException();
-				}
-				String value = getValueAttribute(subElement);
-				list.add(value);
-			}
-		}
-		setAttribute(listKey, list);
-	}
-		
-	protected void setMapAttribute(Element element) throws CoreException {
-		String mapKey = element.getAttribute("key");  //$NON-NLS-1$
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		Map map = new HashMap(entryCount);
-		for (int i = 0; i < entryCount; i++) {
-			Node node = nodeList.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element subElement = (Element) node;
-				String nodeName = subElement.getNodeName();				
-				if (!nodeName.equalsIgnoreCase("mapEntry")) { //$NON-NLS-1$
-					throw getInvalidFormatDebugException();
-				}
-				String key = getKeyAttribute(subElement);
-				String value = getValueAttribute(subElement);
-				map.put(key, value);
-			}
-		}
-		setAttribute(mapKey, map);
-	}
-		
-	protected String getKeyAttribute(Element element) throws CoreException {
-		String key = element.getAttribute("key");   //$NON-NLS-1$
-		if (key == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return key;
-	}
-	
-	protected String getValueAttribute(Element element) throws CoreException {
-		String value = element.getAttribute("value");   //$NON-NLS-1$
-		if (value == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return value;
-	}
-	
-	protected DebugException getInvalidFormatDebugException() {
-		return 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_Invalid_launch_configuration_XML__10, null //$NON-NLS-1$
-				)
-			);
-	}
-	
-	/**
-	 * Two <code>LaunchConfigurationInfo</code> objects are equal if and only if they have the
-	 * same type and they have the same set of attributes with the same values.
-	 * 
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		
-		// Make sure it's a LaunchConfigurationInfo object
-		if (!(obj instanceof LaunchConfigurationInfo)) {
-			return false;
-		}
-		
-		// Make sure the types are the same
-		LaunchConfigurationInfo other = (LaunchConfigurationInfo) obj;
-		if (!fType.getIdentifier().equals(other.getType().getIdentifier())) {
-			return false;
-		}
-		
-		// Make sure the attributes are the same
-		return compareAttributes(fAttributes, other.getAttributeTable());
-	}
-	
-	/**
-	 * Returns whether the two attribute maps are equal, consulting
-	 * registered comparator extensions.
-	 * 
-	 * @param map1 attribute map
-	 * @param map2 attribute map
-	 * @return whether the two attribute maps are equal
-	 */
-	protected boolean compareAttributes(HashMap map1, HashMap map2) {
-		LaunchManager manager = (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
-		if (map1.size() == map2.size()) {
-			Iterator attributes = map1.keySet().iterator();
-			while (attributes.hasNext()) {
-				String key = (String)attributes.next();
-				Object attr1 = map1.get(key);
-				Object attr2 = map2.get(key);
-				if (attr2 == null) {
-					return false;
-				}
-				Comparator comp = manager.getComparator(key);
-				if (comp == null) {
-					if (!attr1.equals(attr2)) {
-						return false;
-					}
-				} else {
-					if (comp.compare(attr1, attr2) != 0) {
-						return false;
-					}
-				}
-			}
-			return true;	
-		}
-		return false;
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fType.hashCode() + fAttributes.size();
-	}
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
deleted file mode 100644
index 6097eb0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * A launch configuration type wrappers a configuration
- * element for a <code>launchConfigurationType</code>
- * extension.
- */
-public class LaunchConfigurationType extends PlatformObject implements ILaunchConfigurationType {
-	
-	/**
-	 * The configuration element of the extension.
-	 */
-	private IConfigurationElement fElement;
-	
-	/**
-	 * Base modes this type supports.
-	 */
-	private Set fBaseModes;
-	
-	/**
-	 * Modes that delegates have been contributed for
-	 */
-	private Set fContributedModes;
-	
-	/**
-	 * The delegates for launch configurations of this type.
-	 * Delegates are instantiated lazily as required. There may
-	 * be different delegates for different modes (since 3.0).
-	 * Map of mode -> delegate
-	 */
-	private Map fDelegates;
-	
-	/**
-	 * Constructs a new launch configuration type on the
-	 * given configuration element.
-	 * 
-	 * @param element configuration element
-	 */
-	protected LaunchConfigurationType(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets this type's configuration element.
-	 * 
-	 * @param element this type's configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/**
-	 * Returns this type's configuration element.
-	 * 
-	 * @return this type's configuration element
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fElement;
-	}	
-
-
-	/**
-	 * @see ILaunchConfigurationType#supportsMode(String)
-	 */
-	public boolean supportsMode(String mode) {
-		return getBaseModes().contains(mode) || getContributedModes().contains(mode);
-	}
-
-	/**
-	 * Returns the set of modes specified in the configuration data.
-	 * 
-	 * @return the set of modes specified in the configuration data
-	 */
-	protected Set getBaseModes() {
-		if (fBaseModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fBaseModes = new HashSet(tokenizer.countTokens());
-			while (tokenizer.hasMoreTokens()) {
-				fBaseModes.add(tokenizer.nextToken().trim());
-			}
-		}
-		return fBaseModes;
-	}
-	
-	/**
-	 * Returns the set of modes delegates have been contributed for
-	 * 
-	 * @return the set of modes delegates have been contributed for
-	 */
-	protected Set getContributedModes() {
-		if (fContributedModes == null) {
-			fContributedModes = new HashSet(0);
-			// add modes for contributed delegates
-			List delegates = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = delegates.iterator();
-			while (iterator.hasNext()) {
-				ContributedDelegate delegate = (ContributedDelegate)iterator.next();
-				if (delegate.getLaunchConfigurationType().equals(getIdentifier())) {
-					fContributedModes.addAll(delegate.getModes());
-				}
-			}
-		}
-		return fContributedModes;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getName()
-	 */
-	public String getName() {
-		return getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationType#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		String id = getConfigurationElement().getAttribute("sourcePathComputerId"); //$NON-NLS-1$
-		if (id == null) {
-			// check for specification by mode specific delegate
-			List delegates = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = delegates.iterator();
-			while (iterator.hasNext() && id == null) {
-				ContributedDelegate delegate = (ContributedDelegate)iterator.next();
-				if (delegate.getLaunchConfigurationType().equals(getIdentifier())) {
-					id = delegate.getSourcePathComputerId();
-				}
-			}
-		}
-		if (id != null && id.length() > 0) {
-			return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getCategory()
-	 */
-	public String getCategory() {
-		return getConfigurationElement().getAttribute("category"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationType#getAttribute(String)
-	 */
-	public String getAttribute(String attributeName) {
-		return getConfigurationElement().getAttribute(attributeName);
-	}	
-	
-	/**
-	 * @see ILaunchConfigurationType#isPublic()
-	 */
-	public boolean isPublic() {
-		String publicString = getConfigurationElement().getAttribute("public"); //$NON-NLS-1$
-		if (publicString != null) {
-			if (publicString.equalsIgnoreCase("false")) { //$NON-NLS-1$
-				return false;
-			}
-		} 
-		return true;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#newInstance(IContainer, String)
-	 */
-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) {
-			return new LaunchConfigurationWorkingCopy(container, name, this);
-	}
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type. The first time this method
-	 * is called, the delegate is instantiated.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate()
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @deprecated use <code>getDelegate(String)</code> to specify mode
-	 */
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException {
-		return getDelegate(ILaunchManager.RUN_MODE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate(java.lang.String)
-	 */
-	public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException {
-		if (!supportsMode(mode)) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_9, new String[] {mode, getIdentifier()}), null));  //$NON-NLS-1$
-		}
-		if (fDelegates == null) {
-			// initialize delegate table with base modes
-			fDelegates = new Hashtable(3);
-		}
-		ILaunchConfigurationDelegate delegate = (ILaunchConfigurationDelegate)fDelegates.get(mode);
-		if (delegate == null) {
-			Set modes = getBaseModes();
-			if (modes.contains(mode)) {
-				Object object = getConfigurationElement().createExecutableExtension("delegate"); //$NON-NLS-1$
-				if (object instanceof ILaunchConfigurationDelegate) {
-					Iterator iter = modes.iterator();
-					while (iter.hasNext()) {
-						fDelegates.put(iter.next(), object);
-					}
-					return (ILaunchConfigurationDelegate)object;
-				} 
-				throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_Launch_delegate_for__0__does_not_implement_required_interface_ILaunchConfigurationDelegate__1, new String[]{getName()}), null)); //$NON-NLS-1$
-			} 
-			// contributed modes
-			List contributed = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = contributed.iterator();
-			while (iterator.hasNext()) {
-				ContributedDelegate contributedDelegate = (ContributedDelegate)iterator.next();
-				if (getIdentifier().equals(contributedDelegate.getLaunchConfigurationType())) {
-					modes = contributedDelegate.getModes();
-					if (modes.contains(mode)) {
-						delegate = contributedDelegate.getDelegate();
-						Iterator modesIterator = modes.iterator();
-						while (modesIterator.hasNext()) {
-							fDelegates.put(modesIterator.next(), delegate); 
-						}
-						return delegate;
-					}
-				}
-			}
-		} else {
-			return delegate;
-		}
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_10, new String[] {getIdentifier(), mode}), null)); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourceLocatorId()
-	 */
-	public String getSourceLocatorId() {
-		String id = getAttribute("sourceLocatorId"); //$NON-NLS-1$
-		if (id == null) {
-			// check for specification by mode specific delegate
-			List delegates = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = delegates.iterator();
-			while (iterator.hasNext() && id == null) {
-				ContributedDelegate delegate = (ContributedDelegate)iterator.next();
-				if (delegate.getLaunchConfigurationType().equals(getIdentifier())) {
-					id = delegate.getSourceLocaterId();
-				}
-			}
-		}
-		return id;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getPluginId()
-	 */
-	public String getPluginIdentifier() {
-		return fElement.getNamespace();
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
deleted file mode 100644
index 4eb0c9d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * A working copy launch configuration
- */
-public class LaunchConfigurationWorkingCopy extends LaunchConfiguration implements ILaunchConfigurationWorkingCopy {
-	
-	/**
-	 * Handle of original launch configuration this
-	 * working copy is based on
-	 */
-	private LaunchConfiguration fOriginal;
-	
-	/**
-	 * Working copy of attributes.
-	 */
-	private LaunchConfigurationInfo fInfo;
-	
-	/**
-	 * Whether this working copy has been modified since
-	 * it was created
-	 */
-	private boolean fDirty = false;
-	
-	/**
-	 * The name for this configuration.
-	 */
-	private String fName;
-	
-	/**
-	 * Indicates whether this working copy has been explicitly renamed.
-	 */
-	private boolean fRenamed = false;
-	
-	/**
-	 * Suppress change notification until created
-	 */
-	private boolean fSuppressChange = true;
-	
-	/**
-	 * The container this working copy will be
-	 * stored in when saved.
-	 */
-	private IContainer fContainer;
-
-	/**
-	 * Constructs a working copy of the specified launch 
-	 * configuration.
-	 * 
-	 * @param original launch configuration to make
-	 *  a working copy of
-	 * @exception CoreException if unable to initialize this
-	 *  working copy's attributes based on the original configuration
-	 */
-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original) throws CoreException {
-		super(original.getLocation());
-		setName(original.getName());
-		copyFrom(original);
-		setOriginal(original);
-		fSuppressChange = false;
-	}
-	
-	/**
-	 * Constructs a copy of the specified launch 
-	 * configuration, with the given (new) name.
-	 * 
-	 * @param original launch configuration to make
-	 *  a working copy of
-	 * @param name the new name for the copy of the launch
-	 *  configuration
-	 * @exception CoreException if unable to initialize this
-	 *  working copy's attributes based on the original configuration
-	 */
-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original, String name) throws CoreException {
-		super(original.getLocation());
-		copyFrom(original);
-		setName(name);
-		fSuppressChange = false;
-	}
-	
-	/**
-	 * Constructs a new working copy to be created in the specified
-	 * location.
-	 * 
-	 * @param container the container that the configuration will be created in
-	 *  or <code>null</code> if to be local
-	 * @param name the name of the new launch configuration
-	 * @param type the type of this working copy
-	 */
-	protected LaunchConfigurationWorkingCopy(IContainer container, String name, ILaunchConfigurationType type) {
-		super((IPath)null);
-		setName(name);
-		setInfo(new LaunchConfigurationInfo());
-		getInfo().setType(type);
-		setContainer(container);
-		fSuppressChange = false;
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return fDirty;
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#doSave()
-	 */
-	public ILaunchConfiguration doSave() throws CoreException {
-		if (isDirty()) {
-			boolean useRunnable= true;
-			if (isLocal()) {
-				if (isMoved()) {
-					// If this config was moved from a shared location, saving
-					// it will delete the original from the workspace. Use runnable.
-					useRunnable= !isNew() && !getOriginal().isLocal();
-				} else {
-					useRunnable= false;
-				}
-			}
-
-			if (useRunnable) {
-				IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-					public void run(IProgressMonitor pm) throws CoreException {
-						doSave0();
-					}
-				};
-				
-				ResourcesPlugin.getWorkspace().run(wr, getSchedulingRule(), 0, null);
-			} else {
-				//file is persisted in the metadata not the workspace
-				doSave0();
-			}
-
-			getLaunchManager().setMovedFromTo(null, null);
-		}
-
-		return new LaunchConfiguration(getLocation());
-	}
-
-	/**
-	 * Returns the scheduling rule to be used when saving this launch configuration.
-	 * <code>null</code> is a valid scheduling rule.
-	 * 
-	 * @return the scheduling rule to be used when saving this launch configuration
-	 */
-	private ISchedulingRule getSchedulingRule() {
-		List rules= new ArrayList(2);
-		IResourceRuleFactory fac = ResourcesPlugin.getWorkspace().getRuleFactory();
-		if (!isLocal()) {
-			//working copy will be saved to a workspace location - create or modify
-			IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(getLocation());
-			if (files.length > 0) {
-				IFile file = files[0];
-				ISchedulingRule rule = null;
-				if (file.exists()) {
-					rule = fac.modifyRule(file);
-				} else {
-					rule = fac.createRule(file);
-				}
-				rules.add(MultiRule.combine(rule, fac.validateEditRule(files)));
-			}
-		}
-		ILaunchConfiguration original = getOriginal();
-		if (!isNew() && isMoved() && !original.isLocal()) {
-			IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(original.getLocation());
-			if (files.length > 0) {
-				rules.add(MultiRule.combine(fac.deleteRule(files[0]), fac.validateEditRule(files)));
-			}
-		}
-		if (rules.isEmpty()) {
-			return null;
-		}
-		return new MultiRule((ISchedulingRule[]) rules.toArray(new ISchedulingRule[rules.size()]));
-	}
-	
-	private void doSave0() throws CoreException {
-		// set up from/to information if this is a move
-		boolean moved = (!isNew() && isMoved());
-		if (moved) {
-			ILaunchConfiguration to = new LaunchConfiguration(getLocation());
-			ILaunchConfiguration from = getOriginal();
-			getLaunchManager().setMovedFromTo(from, to);
-		}
-		// delete the old file if this is not a new configuration
-		// or the file was renamed/moved
-		if (moved) {
-			getOriginal().delete();
-		}
-		// write the new file
-		writeNewFile();
-		resetDirty();
-	}
-
-	/**
-	 * Writes the new configuration information to a file.
-	 * 
-	 * @exception CoreException if writing the file fails
-	 */
-	protected void writeNewFile() throws CoreException {
-		String xml = null;
-		Exception e= null;
-		try {
-			xml = getInfo().getAsXML();
-		} catch (IOException ioe) {
-			e= ioe;			
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;		
-		}
-		if (e != null) {
-			throw new DebugException(
-				new Status(
-					IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{e.toString()}), null //$NON-NLS-1$
-					)
-				);		
-		}
-		
-		if (isLocal()) {
-			// use java.io to update configuration file
-			try {
-				boolean added = false;
-				File file = getLocation().toFile();
-				File dir = getLocation().removeLastSegments(1).toFile();
-				dir.mkdirs();
-				if (!file.exists()) {
-					added = true;
-					file.createNewFile();
-				}
-				FileOutputStream stream = new FileOutputStream(file);
-				stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
-				stream.close();
-				if (added) {
-					getLaunchManager().launchConfigurationAdded(new LaunchConfiguration(getLocation()));
-				} else {
-					getLaunchManager().launchConfigurationChanged(new LaunchConfiguration(getLocation()));
-				}
-			} catch (IOException ie) {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{ie.toString()}), null //$NON-NLS-1$
-					)
-				);				
-			}
-		} else {
-			// use resource API to update configuration file
-			IFile file = getFile();
-			IContainer dir = file.getParent();
-			if (!dir.exists()) {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2, null //$NON-NLS-1$
-					)
-				);				
-			}
-			ByteArrayInputStream stream = null;
-			try {
-				stream = new ByteArrayInputStream(xml.getBytes("UTF8")); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException ue) {
-				throw new DebugException(
-					new Status(
-						 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_5, null //$NON-NLS-1$
-					));
-			}
-			if (!file.exists()) {
-				file.create(stream, false, null);
-			} else {
-				// validate edit
-				if (file.isReadOnly()) {
-					IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
-					if (!status.isOK()) {
-						throw new CoreException(status);
-					}
-				}				
-				file.setContents(stream, false, false, null);
-			}
-		}		
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, int)
-	 */
-	public void setAttribute(String attributeName, int value) {
-		getInfo().setAttribute(attributeName, new Integer(value));
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, String)
-	 */
-	public void setAttribute(String attributeName, String value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, boolean)
-	 */
-	public void setAttribute(String attributeName, boolean value) {
-		getInfo().setAttribute(attributeName, new Boolean(value));
-		setDirty();	
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, List)
-	 */
-	public void setAttribute(String attributeName, List value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, Map)
-	 */
-	public void setAttribute(String attributeName, Map value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfiguration getOriginal() {
-		return fOriginal;
-	}
-	
-	/**
-	 * Sets the launch configuration this working copy
-	 * is based on. Initializes the attributes of this
-	 * working copy to the current values of the given
-	 * configuration.
-	 * 
-	 * @param originl the launch configuration this working
-	 *  copy is based on.
-	 * @exception CoreException if unable to initialize this
-	 *  working copy based on the original's current attribute
-	 *  set
-	 */
-	private void copyFrom(LaunchConfiguration original) throws CoreException {
-		LaunchConfigurationInfo info = original.getInfo();
-		setInfo(info.getCopy());
-		setContainer(original.getContainer());
-		resetDirty();
-	}
-	
-	/**
-	 * Sets the launch configuration this working copy
-	 * is based on.
-	 * 
-	 * @param original the launch configuration this working 
-	 *  copy is based on.
-	 */
-	private void setOriginal(LaunchConfiguration original) {
-		fOriginal = original;
-	}	
-	
-	/**
-	 * Sets the working copy info object for this working copy.
-	 * 
-	 * @param info a copy of attributes from this working copy's
-	 * 	original launch configuration
-	 */
-	protected void setInfo(LaunchConfigurationInfo info) {
-		fInfo = info;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	/**
-	 * A working copy keeps a local info object that is not
-	 * cached with the launch manager.
-	 * 
-	 * @see LaunchConfiguration#getInfo()
-	 */
-	protected LaunchConfigurationInfo getInfo() {
-		return fInfo;
-	}
-	
-	/**
-	 * Sets this working copy's state to dirty.
-	 * Notifies listeners that this working copy has
-	 * changed.
-	 */
-	private void setDirty() {
-		fDirty = true;
-		if (!suppressChangeNotification()) {
-			getLaunchManager().getConfigurationNotifier().notify(this, LaunchManager.CHANGED);
-		}	
-	}
-	
-	/**
-	 * Sets this working copy's state to not dirty.
-	 */
-	private void resetDirty() {
-		fDirty = false;
-	}	
-		
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#rename(String)
-	 */
-	public void rename(String name) {
-		if (!getName().equals(name)) {
-			setName(name);
-			fRenamed = isNew() || !(getOriginal().getName().equals(name));
-		}
-	}
-
-	/**
-	 * Sets the new name for this configuration.
-	 * 
-	 * @param name the new name for this configuration
-	 */
-	private void setName(String name) {
-		fName = name;
-		setDirty();
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		return getContainer() == null;
-	}	
-	
-	/**
-	 * Returns the location this launch configuration will reside at
-	 * when saved.
-	 * 
-	 * @see ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		if (isMoved()) {
-			IPath path = null;
-			if (isLocal()) {
-				path = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			} else {
-				path = getContainer().getLocation();
-			}
-			path = path.append(getName() + "." + LAUNCH_CONFIGURATION_FILE_EXTENSION); //$NON-NLS-1$
-			return path;
-		} 
-		return getOriginal().getLocation();
-	}
-	
-	/**
-	 * Returns whether this working copy is new, or is a
-	 * working copy of another launch configuration.
-	 * 
-	 * @return whether this working copy is new, or is a
-	 *  working copy of another launch configuration
-	 */
-	protected boolean isNew() {
-		return getOriginal() == null;
-	}
-	
-	/**
-	 * Returns whether this working copy is new or if its
-	 * location has changed from that of its original.
-	 * 
-	 * @return whether this working copy is new or if its
-	 * location has changed from that of its original
-	 */
-	protected boolean isMoved() {
-		if (isNew() || fRenamed) {
-			return true;
-		}
-		IContainer newContainer = getContainer();
-		IContainer originalContainer = ((LaunchConfiguration)getOriginal()).getContainer();
-		if (newContainer == originalContainer) {
-			return false;
-		}
-		if (newContainer == null) {
-			return !originalContainer.equals(newContainer);
-		} 
-		return !newContainer.equals(originalContainer);
-	}		
-	
-	/**
-	 * A working copy cannot generate a memento.
-	 * 
-	 * @see ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() {
-		return null;
-	}	
-	
-	/**
-	 * Returns whether change notification should be
-	 * suppressed
-	 */
-	protected boolean suppressChangeNotification() {
-		return fSuppressChange;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setContainer(IContainer)
-	 */
-	public void setContainer(IContainer container) {
-		if (container == fContainer) {
-			return;
-		}
-		if (container != null) {
-			if (container.equals(fContainer)) {
-				return;
-			}
-		} else {
-			if (fContainer.equals(container)) {
-				return;
-			}
-		}
-		fContainer = container;
-		setDirty();
-	}
-	
-	/**
-	 * Returns the container this working copy will be
-	 * stored in when saved, or <code>null</code> if
-	 * this working copy is local.
-	 * 
-	 * @return the container this working copy will be
-	 *  stored in when saved, or <code>null</code> if
-	 *  this working copy is local
-	 */
-	protected IContainer getContainer() {
-		return fContainer;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setAttributes(java.util.Map)
-	 */
-	public void setAttributes(Map attributes) {
-		getInfo().setAttributes(attributes);
-	}
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
deleted file mode 100644
index bada140..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,1893 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - bug 50567 Eclipse native environment support on Win98
- *     Pawel Piech - Bug 82001: When shutting down the IDE, the debugger should first
- *     attempt to disconnect debug targets before terminating them
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourcePathComputer;
-import org.eclipse.osgi.service.environment.Constants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Manages launch configurations, launch configuration types, and registered launches.
- *
- * @see ILaunchManager
- */
-/**
- * LaunchManager
- */
-public class LaunchManager extends PlatformObject implements ILaunchManager, IResourceChangeListener {
-	
-	/**
-	 * Collection of defined launch configuration type
-	 * extensions.
-	 */
-	private List fLaunchConfigurationTypes = null;
-	
-	/**
-	 * Launch configuration cache. Keys are <code>LaunchConfiguration</code>,
-	 * values are <code>LaunchConfigurationInfo</code>.
-	 */
-	private Map fLaunchConfigurations = new HashMap(10);
-	
-	/**
-	 * A cache of launch configuration names currently in the workspace.
-	 */
-	private String[] fSortedConfigNames = null;
-	
-	/**
-	 * Collection of all launch configurations in the workspace.
-	 * <code>List</code> of <code>ILaunchConfiguration</code>.
-	 */
-	private List fLaunchConfigurationIndex = null;
-	
-	/**
-	 * Launch configuration comparator extensions,
-	 * keyed by attribute name.
-	 */
-	private Map fComparators = null;
-	
-	/**
-	 * Registered launch modes, or <code>null</code> if not initialized.
-	 * Keys are mode identifiers, values are <code>ILaunchMode</code>s.
-	 */
-	private Map fLaunchModes = null;
-	
-	/**
-	 * List of contributed launch delegates (delegates contributed for existing
-	 * launch configuration types).
-	 */
-	private List fContributedDelegates = null;
-	
-	/**
-	 * Types of notifications
-	 */
-	public static final int ADDED = 0;
-	public static final int REMOVED= 1;
-	public static final int CHANGED= 2;
-	public static final int TERMINATE= 3;
-	
-	/**
-	 * The collection of native environment variables on the user's system. Cached
-	 * after being computed once as the environment cannot change.
-	 */
-	private static HashMap fgNativeEnv= null;
-	private static HashMap fgNativeEnvCasePreserved= null;
-
-	/**
-	 * Collection of launches
-	 */
-	private List fLaunches= new ArrayList(10);
-	
-	/**
-	 * Set of launches for efficient 'isRegistered()' check
-	 */
-	private Set fLaunchSet = new HashSet(10); 
-
-	/**
-	 * Collection of listeners
-	 */
-	private ListenerList fListeners= new ListenerList(5);
-	
-	/**
-	 * Collection of "plural" listeners.
-	 * @since 2.1
-	 */
-	private ListenerList fLaunchesListeners = new ListenerList(5);
-	
-	/**
-	 * Visitor used to process resource deltas,
-	 * to update launch configuration index.
-	 */
-	private LaunchManagerVisitor fgVisitor;
-	
-	/**
-	 * Whether this manager is listening for resouce change events
-	 */
-	private boolean fListening = false;
-	
-	/**
-	 * Launch configuration listeners
-	 */
-	private ListenerList fLaunchConfigurationListeners = new ListenerList(5);
-	
-	/**
-	 * Table of source locator extensions. Keys
-	 * are identifiers, and values are associated
-	 * configuration elements.
-	 */
-	private Map fSourceLocators = null;
-
-	/**
-	 * The handles of launch configurations being moved, or <code>null</code>
-	 */
-	private ILaunchConfiguration fFrom;
-	private ILaunchConfiguration fTo;
-	
-	/**
-	 * Path to the local directory where local launch configurations
-	 * are stored with the workspace.
-	 */
-	protected static final IPath LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH =
-		DebugPlugin.getDefault().getStateLocation().append(".launches"); //$NON-NLS-1$
-		
-	
-	/**
-	 * Map of source container type extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourceContainerTypes;	
-	
-	/**
-	 * Map of source path computer extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourcePathComputers;
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	public static String serializeDocument(Document doc) throws TransformerException, IOException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Returns a Document that can be used to build a DOM tree
-	 * @return the Document
-	 * @throws ParserConfigurationException if an exception occurs creating the document builder
-	 * @since 3.0
-	 */
-	public static Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder= dfactory.newDocumentBuilder();
-		Document doc= docBuilder.newDocument();
-		return doc;
-	}
-			
-	/**
-	 * @see ILaunchManager#addLaunchListener(ILaunchListener)
-	 */
-	public void addLaunchListener(ILaunchListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Returns a collection of all launch configuration handles in 
-	 * the workspace. This collection is initialized lazily.
-	 * 
-	 * @return all launch configuration handles
-	 */
-	private List getAllLaunchConfigurations() {
-		if (fLaunchConfigurationIndex == null) {
-			try {			
-				fLaunchConfigurationIndex = new ArrayList(20);
-				List configs = findLocalLaunchConfigurations();
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-				configs = findLaunchConfigurations(getWorkspaceRoot());
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-			} finally {
-				hookResourceChangeListener();				
-			}
-		}
-		return fLaunchConfigurationIndex;
-	}
-	
-	/**
-     * Starts listening for resource change events
-     */
-    private synchronized void hookResourceChangeListener() {
-        if (!fListening) {
-            getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
-            fListening = true;
-        }
-    }
-
-    /**
-	 * Verify basic integrity of launch configurations in the given list,
-	 * adding valid configs to the collection of all launch configurations.
-	 * Exceptions are logged for invalid configs.
-	 * 
-	 * @param verify the list of configs to verify
-	 * @param valid the list to place valid configrations in
-	 */
-	protected void verifyConfigurations(List verify, List valid) {
-		Iterator configs = verify.iterator();
-		while (configs.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)configs.next();
-			if (isValid(config)) {
-				valid.add(config);
-			}
-		}		
-	}
-	
-	/**
-	 * Returns whether the given launch configuration passes a basic
-	 * integritiy test by retrieving its type.
-	 * 
-	 * @param config the configuration to verify
-	 * @return whether the config meets basic integrity constraints
-	 */
-	protected boolean isValid(ILaunchConfiguration config) {
-		try {
-			config.getType();
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE) {
-				// only log warnings due to something other than a missing
-				// launch config type
-				DebugPlugin.log(e);
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Clears all launch configurations (if any have been accessed)
-	 */
-	private void clearAllLaunchConfigurations() {
-		if (fLaunchConfigurationTypes != null) {
-			fLaunchConfigurationTypes.clear();
-		}
-		if (fLaunchConfigurationIndex != null) {
-			fLaunchConfigurationIndex.clear();
-		}
-	}
-		
-	/**
-	 * @see ILaunchManager#removeLaunch(ILaunch)
-	 */
-	public void removeLaunch(ILaunch launch) {
-		if (internalRemoveLaunch(launch)) {
-			fireUpdate(launch, REMOVED);
-			fireUpdate(new ILaunch[] {launch}, REMOVED);
-		}
-	}	
-	
-	/**
-	 * Removes the given launch object from the collection of registered
-	 * launches. Returns whether the launch was removed.
-	 * 
-	 * @param launch the launch to remove
-	 * @return whether the launch was removed
-	 */
-	protected boolean internalRemoveLaunch(ILaunch launch) {
-		if (launch == null) {
-			return false;
-		}
-		synchronized (fLaunches) {
-			fLaunchSet.remove(launch);
-			return fLaunches.remove(launch);
-		}
-	}
-	
-	/**
-	 * Fires notification to (single) listeners that a launch has been
-	 * added/changed/removed..
-	 */
-	public void fireUpdate(ILaunch launch, int update) {
-		getLaunchNotifier().notify(launch, update);
-	}	
-	
-	/**
-	 * Fires notification to (multi) listeners that a launch has been
-	 * added/changed/removed.
-	 */
-	public void fireUpdate(ILaunch[] launches, int update) {
-		getLaunchesNotifier().notify(launches, update);
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#isRegistered(org.eclipse.debug.core.ILaunch)
-	 */
-	public boolean isRegistered(ILaunch launch) {
-		synchronized (fLaunches) {
-			return fLaunchSet.contains(launch);
-		}
-	}
-
-	/**
-	 * @see ILaunchManager#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		synchronized (fLaunches) {
-			List allTargets= new ArrayList(fLaunches.size());
-			if (fLaunches.size() > 0) {
-				Iterator e= fLaunches.iterator();
-				while (e.hasNext()) {
-					IDebugTarget[] targets= ((ILaunch) e.next()).getDebugTargets();
-					for (int i = 0; i < targets.length; i++) {
-						allTargets.add(targets[i]);
-					}
-				}
-			}
-			return (IDebugTarget[])allTargets.toArray(new IDebugTarget[allTargets.size()]);
-		}
-	}
-			
-	/**
-	 * @see ILaunchManager#getLaunches()
-	 */
-	public ILaunch[] getLaunches() {
-		synchronized (fLaunches) {
-			return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);
-		}
-	}
-
-	/**
-	 * @see ILaunchManager#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		synchronized (fLaunches) {
-			List allProcesses= new ArrayList(fLaunches.size());
-			Iterator e= fLaunches.iterator();
-			while (e.hasNext()) {
-				IProcess[] processes= ((ILaunch) e.next()).getProcesses();
-				for (int i= 0; i < processes.length; i++) {
-					allProcesses.add(processes[i]);
-				}
-			}
-			return (IProcess[])allProcesses.toArray(new IProcess[allProcesses.size()]);
-		}
-	}
-	
-	/**
-	 * @see ILaunchManager#addLaunch(ILaunch)
-	 */
-	public void addLaunch(ILaunch launch) {
-		if (internalAddLaunch(launch)) {
-			fireUpdate(launch, ADDED);
-			fireUpdate(new ILaunch[] {launch}, ADDED);
-		}
-	}	
-	
-	/**
-	 * Adds the given launch object to the list of registered launches,
-	 * and returns whether the launch was added.
-	 * 
-	 * @param launch launch to register
-	 * @return whether the launch was added
-	 */
-	protected boolean internalAddLaunch(ILaunch launch) {
-		synchronized (fLaunches) {
-			if (fLaunches.contains(launch)) {
-				return false;
-			}
-			fLaunches.add(launch);
-			fLaunchSet.add(launch);
-			return true;
-		}
-	}
-	
-	/**
-	 * @see ILaunchManager#removeLaunchListener(ILaunchListener)
-	 */
-	public void removeLaunchListener(ILaunchListener listener) {
-		fListeners.remove(listener);
-	}
-		
-	/**
-	 * Return a LaunchConfigurationInfo object initialized from XML contained in
-	 * the specified stream.  Simply pass out any exceptions encountered so that
-	 * caller can deal with them.  This is important since caller may need access to the
-	 * actual exception.
-	 */
-	protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,
-																			 ParserConfigurationException,
-																			 IOException,
-																			 SAXException {
-		Element root = null;
-		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		parser.setErrorHandler(new DefaultHandler());
-		root = parser.parse(new InputSource(stream)).getDocumentElement();
-		LaunchConfigurationInfo info = new LaunchConfigurationInfo();
-		info.initializeFromXML(root);
-		return info;
-	}
-
-	/**
-	 * Terminates/Disconnects any active debug targets/processes.
-	 * Clears launch configuration types.
-	 */
-	public void shutdown() {
-		fListeners.removeAll();
-		ILaunch[] launches = getLaunches();
-		for (int i= 0; i < launches.length; i++) {
-			ILaunch launch= launches[i];
-			try {
-                if (launch instanceof IDisconnect) {
-                    IDisconnect disconnect = (IDisconnect)launch;
-                    if (disconnect.canDisconnect()) {
-                        disconnect.disconnect();
-                    }
-                }
-                if (launch.canTerminate()) {
-                    launch.terminate();
-                }
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		
-		clearAllLaunchConfigurations();
-
-		getWorkspace().removeResourceChangeListener(this);
-	}
-							
-	/**
-	 * Returns the info object for the specified launch configuration.
-	 * If the configuration exists, but is not yet in the cache,
-	 * an info object is built and added to the cache.
-	 * 
-	 * @exception CoreException if an exception occurs building
-	 *  the info object
-	 * @exception DebugException if the config does not exist
-	 */
-	protected LaunchConfigurationInfo getInfo(ILaunchConfiguration config) throws CoreException {
-		LaunchConfigurationInfo info = (LaunchConfigurationInfo)fLaunchConfigurations.get(config);
-		if (info == null) {
-			if (config.exists()) {
-				InputStream stream = null;
-				try {
-					if (config.isLocal()) {
-						IPath path = config.getLocation();
-						File file = path.toFile();				
-						stream = new FileInputStream(file);
-					} else {
-						IFile file = ((LaunchConfiguration) config).getFile();
-						if (file == null) {
-							throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager_30, new String[] {config.getName()}), null); //$NON-NLS-1$
-						}
-						stream = file.getContents();
-					}
-					info = createInfoFromXML(stream);
-					fLaunchConfigurations.put(config, info);
-				} catch (FileNotFoundException e) {
-					throwException(config, e);					
-				} catch (SAXException e) {
-					throwException(config, e);					
-				} catch (ParserConfigurationException e) {
-					throwException(config, e);					
-				} catch (IOException e) {
-					throwException(config, e);					
-				} finally {
-					if (stream != null) {
-						try {
-							stream.close();
-						} catch (IOException e) {
-							throwException(config, e);					
-						}
-					}
-				}
-		
-			} else {
-				throw createDebugException(
-					MessageFormat.format(DebugCoreMessages.LaunchManager_does_not_exist, new String[]{config.getName(), config.getLocation().toOSString()}), null); //$NON-NLS-1$
-			}
-		}
-		return info;
-	}
-	
-	/**
-	 * Throws a debug exception with the given throwable that occurred
-	 * while processing the given configuration.
-	 */
-	private void throwException(ILaunchConfiguration config, Throwable e) throws DebugException {
-		IPath path = config.getLocation();
-		throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1, new String[]{e.toString(), path.toOSString()}), e); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return an instance of DebugException containing the specified message and Throwable.
-	 */
-	protected DebugException createDebugException(String message, Throwable throwable) {
-		return new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, message, throwable 
-					)
-				);
-	}
-	
-	/**
-	 * Removes the given launch configuration from the cache of configurations.
-	 * When a local configuration is deleted, this method is called, as there will
-	 * be no resource delta generated to auto-update the cache.
-	 * 
-	 * @param configuration the configuration to remove
-	 */
-	private void removeInfo(ILaunchConfiguration configuration) {
-		fLaunchConfigurations.remove(configuration);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations()
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations() {
-		List allConfigs = getAllLaunchConfigurations();
-		return (ILaunchConfiguration[])allConfigs.toArray(new ILaunchConfiguration[allConfigs.size()]);
-	}	
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations(ILaunchConfigurationType)
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			if (config.getType().equals(type)) {
-				configs.add(config);
-			}
-		}
-		return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);
-	}
-	
-	/**
-	 * Returns all launch configurations that are stored as resources
-	 * in the given project.
-	 * 
-	 * @param project a project
-	 * @return collection of launch configurations that are stored as resources
-	 *  in the given project
-	 */
-	protected List getLaunchConfigurations(IProject project) {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			IFile file = config.getFile();
-			if (file != null && file.getProject().equals(project)) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}	
-	
-	/**
-	 * Returns all launch configurations that are stored locally.
-	 * 
-	 * @return collection of launch configurations stored lcoally
-	 */
-	protected List getLocalLaunchConfigurations() {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			if (config.isLocal()) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}		
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(IFile)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(IFile file) {
-		hookResourceChangeListener();				
-		return new LaunchConfiguration(file.getLocation());
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {
-		hookResourceChangeListener();
-		return new LaunchConfiguration(memento);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationTypes()
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes() {
-		List types= getLaunchConfigurationTypeList();
-		return (ILaunchConfigurationType[])types.toArray(new ILaunchConfigurationType[types.size()]);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationType(String)
-	 */
-	public ILaunchConfigurationType getLaunchConfigurationType(String id) {
-		Iterator iter = getLaunchConfigurationTypeList().iterator();
-		while (iter.hasNext()) {
-			ILaunchConfigurationType type = (ILaunchConfigurationType)iter.next();
-			if (type.getIdentifier().equals(id)) {
-				return type;
-			}
-		}
-		return null;
-	}
-	
-	private List getLaunchConfigurationTypeList() {
-		initializeLaunchConfigurationTypes();
-		return fLaunchConfigurationTypes;
-	}
-	
-	private synchronized void initializeLaunchConfigurationTypes() {
-		if (fLaunchConfigurationTypes == null) {
-			hookResourceChangeListener();
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fLaunchConfigurationTypes= new ArrayList(infos.length);
-			for (int i= 0; i < infos.length; i++) {
-				IConfigurationElement configurationElement = infos[i];
-				LaunchConfigurationType configType = new LaunchConfigurationType(configurationElement); 			
-				fLaunchConfigurationTypes.add(configType);
-			}
-		}
-	}
-	
-	/**
-	 * Initializes contributed launch delegates (i.e. delegates contributed
-	 * to an existing launch configuration type).
-	 */
-	private synchronized void initializeContributedDelegates() {
-		if (fContributedDelegates == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_DELEGATES);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fContributedDelegates= new ArrayList(infos.length);
-			for (int i= 0; i < infos.length; i++) {
-				IConfigurationElement configurationElement = infos[i];
-				ContributedDelegate delegate = new ContributedDelegate(configurationElement); 			
-				fContributedDelegates.add(delegate);
-			}
-		}
-	}	
-	
-	/**
-	 * Returns a list of launch delegates contributed for existing launch configuration
-	 * types.
-	 * 
-	 * @return list of ContributedDelegate
-	 */
-	protected List getContributedDelegates() {
-		initializeContributedDelegates();
-		return fContributedDelegates;
-	}
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been deleted. The configuration is removed from the
-	 * cache of infos and from the index of configurations by
-	 * project, and listeners are notified.
-	 * 
-	 * @param config the launch configuration that was deleted
-	 */
-	protected void launchConfigurationDeleted(ILaunchConfiguration config) {
-		removeInfo(config);
-		getAllLaunchConfigurations().remove(config);
-		getConfigurationNotifier().notify(config, REMOVED);
-		clearConfigNameCache();			
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been added. The configuration is added to the index of
-	 * configurations by project, and listeners are notified.
-	 * 
-	 * @param config the launch configuration that was added
-	 */
-	protected void launchConfigurationAdded(ILaunchConfiguration config) {
-		if (config.isWorkingCopy()) {
-			return;
-		}
-		if (isValid(config)) {
-			List allConfigs = getAllLaunchConfigurations();
-			if (!allConfigs.contains(config)) {
-				allConfigs.add(config);
-				getConfigurationNotifier().notify(config, ADDED);
-				clearConfigNameCache();
-			}
-		} else {
-			launchConfigurationDeleted(config);
-		}
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been changed. The configuration is removed from the
-	 * cache of info objects such that the new attributes will
-	 * be updated on the next access. Listeners are notified of
-	 * the change.
-	 * 
-	 * @param config the launch configuration that was changed
-	 */
-	protected void launchConfigurationChanged(ILaunchConfiguration config) {
-		removeInfo(config);
-		clearConfigNameCache();
-		if (isValid(config)) {
-			// in case the config has been refreshed and it was removed from the
-			// index due to 'out of synch with local file system' (see bug 36147),
-			// add it back (will only add if required)
-			launchConfigurationAdded(config);
-			getConfigurationNotifier().notify(config, CHANGED);
-		} else {
-			launchConfigurationDeleted(config);
-		}								
-	}
-	
-	/**
-	 * @see ILaunchManager#isExistingLaunchConfigurationName(String)
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) {
-		String[] sortedConfigNames = getAllSortedConfigNames();
-		int index = Arrays.binarySearch(sortedConfigNames, name);
-		if (index < 0) {
-			return false;
-		} 
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#generateUniqueLaunchConfigurationNameFrom(String)
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String baseName) {
-		int index = 1;
-		int length= baseName.length();
-		int copyIndex = baseName.lastIndexOf(" ("); //$NON-NLS-1$
-		if (copyIndex > -1 && length > copyIndex + 2 && baseName.charAt(length - 1) == ')') {
-			String trailer = baseName.substring(copyIndex + 2, length -1);
-			if (isNumber(trailer)) {
-				try {
-					index = Integer.parseInt(trailer);
-					baseName = baseName.substring(0, copyIndex);
-				} catch (NumberFormatException nfe) {
-				}
-			}
-		} 
-		String newName = baseName;
-		
-		StringBuffer buffer= null;
-		while (isExistingLaunchConfigurationName(newName)) {
-			buffer = new StringBuffer(baseName);
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(String.valueOf(index));
-			index++;
-			buffer.append(')');
-			newName = buffer.toString();		
-		}		
-		
-		return newName;
-	}
-	
-	/**
-	 * Returns whether the given String is composed solely of digits
-	 */
-	private boolean isNumber(String string) {
-		int numChars= string.length();
-		if (numChars == 0) {
-			return false;
-		}
-		for (int i= 0; i < numChars; i++) {
-			if (!Character.isDigit(string.charAt(i))) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * Return a sorted array of the names of all <code>ILaunchConfiguration</code>s in 
-	 * the workspace.  These are cached, and cache is cleared when a new config is added,
-	 * deleted or changed.
-	 */
-	protected String[] getAllSortedConfigNames() {
-		if (fSortedConfigNames == null) {
-			ILaunchConfiguration[] configs = getLaunchConfigurations();
-			fSortedConfigNames = new String[configs.length];
-			for (int i = 0; i < configs.length; i++) {
-				fSortedConfigNames[i] = configs[i].getName();
-			}
-			Arrays.sort(fSortedConfigNames);
-		}
-		return fSortedConfigNames;
-	}
-	
-	/**
-	 * The launch config name cache is cleared when a config is added, deleted or changed.
-	 */
-	protected void clearConfigNameCache() {
-		fSortedConfigNames = null;
-	}
-		
-	/**
-	 * Finds and returns all local launch configurations.
-	 *
-	 * @return all local launch configurations
-	 * @exception CoreException if there is a lower level
-	 *  IO exception
-	 */
-	protected List findLocalLaunchConfigurations() {
-		IPath containerPath = LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		List configs = new ArrayList(10);
-		final File directory = containerPath.toFile();
-		if (directory.isDirectory()) {
-			FilenameFilter filter = new FilenameFilter() {
-				public boolean accept(File dir, String name) {
-					return dir.equals(directory) &&
-							name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
-				}
-			};
-			String[] files = directory.list(filter);
-			for (int i = 0; i < files.length; i++) {
-				LaunchConfiguration config = new LaunchConfiguration(containerPath.append(files[i]));
-				configs.add(config);
-			}
-		}
-		return configs;
-	}
-	
-	/**
-	 * Finds and returns all launch configurations in the given
-	 * container (and subcontainers)
-	 * 
-	 * @param container the container to search
-	 * @exception CoreException an exception occurs traversing
-	 *  the container.
-	 * @return all launch configurations in the given container
-	 */
-	protected List findLaunchConfigurations(IContainer container) {
-		List list = new ArrayList(10);
-		if (container instanceof IProject && !((IProject)container).isOpen()) {
-			return list;
-		}
-		ResourceProxyVisitor visitor= new ResourceProxyVisitor(list);
-		try {
-			container.accept(visitor, IResource.NONE);
-		} catch (CoreException ce) {
-			//Closed project...should not be possible with previous check
-		}
-		Iterator iter = list.iterator();
-		List configs = new ArrayList(list.size());
-		while (iter.hasNext()) {
-			IFile file = (IFile)iter.next();
-			configs.add(getLaunchConfiguration(file));
-		}
-		return configs;
-	}
-	
-	/**
-	 * Traverses the delta looking for added/removed/changed launch
-	 * configuration files.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta= event.getDelta();
-		if (delta == null) {
-		    // pre-delete
-		    LaunchManagerVisitor visitor = getDeltaVisitor();
-		    IResource resource = event.getResource();
-		    if (resource instanceof IProject) {
-                IProject project = (IProject) resource;
-                visitor.preDelete(project);
-            }
-		} else {
-			try {
-			    LaunchManagerVisitor visitor = getDeltaVisitor();
-				delta.accept(visitor);
-				visitor.reset();
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-	
-	/**
-	 * Returns the resource delta visitor for the launch manager.
-	 * 
-	 * @return the resource delta visitor for the launch manager
-	 */
-	private LaunchManagerVisitor getDeltaVisitor() {
-	    if (fgVisitor == null) {
-			fgVisitor= new LaunchManagerVisitor();
-		}
-	    return fgVisitor;
-	}
-	
-	/**
-	 * Returns the launch configurations specified by the given
-	 * XML document.
-	 * 
-	 * @param root XML document
-	 * @return list of launch configurations
-	 * @exception IOException if an exception occurs reading the XML
-	 */	
-	protected List getConfigsFromXML(Element root) throws CoreException {
-		DebugException invalidFormat = 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchManager_Invalid_launch_configuration_index__18, null //$NON-NLS-1$
-				)
-			);		
-			
-		if (!root.getNodeName().equalsIgnoreCase("launchConfigurations")) { //$NON-NLS-1$
-			throw invalidFormat;
-		}
-		
-		// read each launch configuration 
-		List configs = new ArrayList(4);	
-		NodeList list = root.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				String nodeName = entry.getNodeName();
-				if (!nodeName.equals("launchConfiguration")) { //$NON-NLS-1$
-					throw invalidFormat;
-				}
-				String memento = entry.getAttribute("memento"); //$NON-NLS-1$
-				if (memento == null) {
-					throw invalidFormat;
-				}
-				configs.add(getLaunchConfiguration(memento));
-			}
-		}
-		return configs;
-	}		
-	
-	/**
-	 * The specified project has just opened - add all launch
-	 * configs in the project to the index of all configs.
-	 * 
-	 * @param project the project that has been opened
-	 * @exception CoreException if reading the index fails
-	 */
-	protected void projectOpened(IProject project) {
-		List configs = findLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				ILaunchConfiguration config = (ILaunchConfiguration) iterator.next();
-				launchConfigurationAdded(config);
-			}			
-		}
-	}
-	
-	/**
-	 * The specified project has just closed - remove its
-	 * launch configurations from the cached index.
-	 * 
-	 * @param project the project that has been closed
-	 * @exception CoreException if writing the index fails
-	 */
-	protected void projectClosed(IProject project) {
-		List configs = getLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				ILaunchConfiguration configuration = (ILaunchConfiguration)iterator.next();
-				launchConfigurationDeleted(configuration);
-			}
-		}
-	}	
-	
-	/**
-	 * Visitor for handling resource deltas.
-	 */
-	class LaunchManagerVisitor implements IResourceDeltaVisitor {
-	    
-	    /**
-	     * Map of files to associated (shared) launch configs in a project
-	     * that is going to be deleted.
-	     */
-	    private Map fFileToConfig = new HashMap();
-	    
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
-				if (delta.getResource() instanceof IProject) {
-					IProject project = (IProject)delta.getResource();
-					
-					if (project.isOpen()) {
-						LaunchManager.this.projectOpened(project);
-					} else { 
-					    LaunchManager.this.projectClosed(project);
-					}
-				}
-				return false;
-			}
-			IResource resource = delta.getResource();
-			if (resource instanceof IFile) {
-				IFile file = (IFile)resource;
-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equals(file.getFileExtension())) {
-					IPath configPath = file.getLocation();
-					ILaunchConfiguration handle = null;
-					// If the file has already been deleted, reconstruct the handle from our cache
-					if (configPath == null) {
-					    handle = (ILaunchConfiguration) fFileToConfig.get(file);
-					} else {
-					    handle = new LaunchConfiguration(configPath);
-					}
-					if (handle != null) {
-						switch (delta.getKind()) {						
-							case IResourceDelta.ADDED :
-								LaunchManager.this.launchConfigurationAdded(handle);
-								break;
-							case IResourceDelta.REMOVED :
-								LaunchManager.this.launchConfigurationDeleted(handle);
-								break;
-							case IResourceDelta.CHANGED :
-								LaunchManager.this.launchConfigurationChanged(handle);
-								break;
-						}
-					}
-				}
-				return false;
-			} else if (resource instanceof IContainer) {
-				return true;
-			}
-			return true;
-		}	
-		
-		/**
-         * Builds a cache of configs that will be deleted in the given project
-         */
-        public void preDelete(IProject project) {
-            List list = findLaunchConfigurations(project);
-            Iterator configs = list.iterator();
-            while (configs.hasNext()) {
-                ILaunchConfiguration configuration = (ILaunchConfiguration) configs.next();
-                IFile file = configuration.getFile();
-                if (file != null) {
-                    fFileToConfig.put(file, configuration);
-                }
-            }
-        }
-
-        /**
-		 * Resets this resource delta visitor for a new pass.
-		 */
-		public void reset() {
-		      fFileToConfig.clear();
-		}
-	}
-	
-	/**
-	 * @see ILaunchManager#addLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.add(listener);
-	}
-
-	/**
-	 * @see ILaunchManager#removeLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.remove(listener);
-	}
-
-	/**
-	 * Register source locators.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private synchronized void initializeSourceLocators() {
-		if (fSourceLocators == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_LOCATORS);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fSourceLocators= new HashMap(infos.length);
-			for (int i= 0; i < infos.length; i++) {
-				IConfigurationElement configurationElement = infos[i];
-				String id = configurationElement.getAttribute("id"); //$NON-NLS-1$			
-				if (id != null) {
-					fSourceLocators.put(id,configurationElement);
-				} else {
-					// invalid status handler
-					IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-					MessageFormat.format(DebugCoreMessages.LaunchManager_Invalid_source_locator_extentsion_defined_by_plug_in____0_______id___not_specified_12, new String[] {configurationElement.getNamespace()} ), null);  //$NON-NLS-1$
-					DebugPlugin.log(s);
-				}
-			}
-		}
-	}
-	
-	
-	/**
-	 * Load comparator extensions.
-	 */
-	private synchronized void initializeComparators() {
-		if (fComparators == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fComparators = new HashMap(infos.length);
-			for (int i= 0; i < infos.length; i++) {
-				IConfigurationElement configurationElement = infos[i];
-				String attr = configurationElement.getAttribute("attribute"); //$NON-NLS-1$			
-				if (attr != null) {
-					fComparators.put(attr, new LaunchConfigurationComparator(configurationElement));
-				} else {
-					// invalid status handler
-					IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-					MessageFormat.format(DebugCoreMessages.LaunchManager_Invalid_launch_configuration_comparator_extension_defined_by_plug_in__0____attribute_not_specified_1, new String[] {configurationElement.getNamespace()}), null); //$NON-NLS-1$
-					DebugPlugin.log(s);
-				}
-			}
-		}
-	}
-		
-	/**
-	 * @see ILaunchManager#newSourceLocator(String)
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {
-		initializeSourceLocators();
-		IConfigurationElement config = (IConfigurationElement)fSourceLocators.get(identifier);
-		if (config == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-				MessageFormat.format(DebugCoreMessages.LaunchManager_Source_locator_does_not_exist___0__13, new String[] {identifier} ), null)); //$NON-NLS-1$
-		} 
-		IPersistableSourceLocator sourceLocator = (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$
-		if (sourceLocator instanceof AbstractSourceLookupDirector) {
-			((AbstractSourceLookupDirector)sourceLocator).setId(identifier);
-		}
-		return sourceLocator;
-	}
-
-	/**
-	 * Returns the comparator registered for the given attribute, or
-	 * <code>null</code> if none.
-	 * 
-	 * @param attributeName attribute for which a comparator is required
-	 * @return comparator, or <code>null</code> if none
-	 */
-	protected Comparator getComparator(String attributeName) {
-		 Map map = getComparators();
-		 return (Comparator)map.get(attributeName);
-	}
-	
-	/**
-	 * Returns comparators, loading if required
-	 */
-	protected Map getComparators() {
-		initializeComparators();
-		return fComparators;
-	}
-	
-	private IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return getWorkspace().getRoot();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#addLaunches(org.eclipse.debug.core.ILaunch)
-	 */
-	public void addLaunches(ILaunch[] launches) {
-		List added = new ArrayList(launches.length);
-		for (int i = 0; i < launches.length; i++) {
-			if (internalAddLaunch(launches[i])) {
-				added.add(launches[i]);
-			}
-		}
-		if (!added.isEmpty()) {
-			ILaunch[] addedLaunches = (ILaunch[])added.toArray(new ILaunch[added.size()]);
-			fireUpdate(addedLaunches, ADDED);
-			for (int i = 0; i < addedLaunches.length; i++) {
-				fireUpdate(launches[i], ADDED);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#addLaunchListener(org.eclipse.debug.core.ILaunchesListener)
-	 */
-	public void addLaunchListener(ILaunchesListener listener) {
-		fLaunchesListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#removeLaunches(org.eclipse.debug.core.ILaunch)
-	 */
-	public void removeLaunches(ILaunch[] launches) {
-		List removed = new ArrayList(launches.length);
-		for (int i = 0; i < launches.length; i++) {
-			if (internalRemoveLaunch(launches[i])) {
-				removed.add(launches[i]);
-			}
-		}
-		if (!removed.isEmpty()) {
-			ILaunch[] removedLaunches = (ILaunch[])removed.toArray(new ILaunch[removed.size()]);
-			fireUpdate(removedLaunches, REMOVED);
-			for (int i = 0; i < removedLaunches.length; i++) {
-				fireUpdate(removedLaunches[i], REMOVED);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#removeLaunchListener(org.eclipse.debug.core.ILaunchesListener)
-	 */
-	public void removeLaunchListener(ILaunchesListener listener) {
-		fLaunchesListeners.remove(listener);
-	}
-
-	/**
-	 * Indicates the given launch configuration is being moved from the given
-	 * location to the new location.
-	 * 
-	 * @param from the location a launch configuration is being moved from, or
-	 * <code>null</code>
-	 * @param to the location a launch configuration is being moved to,
-	 * or <code>null</code>
-	 */
-	protected void setMovedFromTo(ILaunchConfiguration from, ILaunchConfiguration to) {
-		fFrom = from;
-		fTo = to;
-	}
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#getMovedFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration) {
-		if (addedConfiguration.equals(fTo)) {
-			return fFrom;
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#getMovedTo(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration) {
-		if (removedConfiguration.equals(fFrom)) {
-			return fTo;
-		}
-		return null;
-	}
-	
-	/**
-	 * Collects files whose extension matches the launch configuration file
-	 * extension.
-	 */
-	class ResourceProxyVisitor implements IResourceProxyVisitor {
-		
-		private List fList;
-		
-		protected ResourceProxyVisitor(List list) {
-			fList= list;
-		}
-		/**
-		 * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
-		 */
-		public boolean visit(IResourceProxy proxy) {
-			if (proxy.getType() == IResource.FILE) {
-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equalsIgnoreCase(proxy.requestFullPath().getFileExtension())) {
-					fList.add(proxy.requestResource());
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-
-	private LaunchNotifier getLaunchNotifier() {
-		return new LaunchNotifier();
-	}
-	
-	/**
-	 * Notifies a launch listener (single launch) in a safe runnable to handle
-	 * exceptions.
-	 */
-	class LaunchNotifier implements ISafeRunnable {
-		
-		private ILaunchListener fListener;
-		private int fType;
-		private ILaunch fLaunch;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.LaunchManager_An_exception_occurred_during_launch_change_notification__1, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchAdded(fLaunch);
-					break;
-				case REMOVED:
-					fListener.launchRemoved(fLaunch);
-					break;
-				case CHANGED:
-					if (isRegistered(fLaunch)) {
-						fListener.launchChanged(fLaunch);
-					}
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunch launch, int update) {
-			fLaunch = launch;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fLaunch = null;
-			fListener = null;		
-		}
-	}
-	
-	private LaunchesNotifier getLaunchesNotifier() {
-		return new LaunchesNotifier();
-	}
-	
-	/**
-	 * Notifies a launch listener (multiple launches) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class LaunchesNotifier implements ISafeRunnable {
-		
-		private ILaunchesListener fListener;
-		private int fType;
-		private ILaunch[] fNotifierLaunches;
-		private ILaunch[] fRegistered;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.LaunchManager_An_exception_occurred_during_launch_change_notification__1, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchesAdded(fNotifierLaunches);
-					break;
-				case REMOVED:
-					fListener.launchesRemoved(fNotifierLaunches);
-					break;
-				case CHANGED:
-				case TERMINATE:
-					if (fRegistered == null) {
-						List registered = null;
-						for (int j = 0; j < fNotifierLaunches.length; j++) {
-							if (isRegistered(fNotifierLaunches[j])) {
-								if (registered != null) {
-									registered.add(fNotifierLaunches[j]);
-								} 
-							} else {
-								if (registered == null) {
-									registered = new ArrayList(fNotifierLaunches.length);
-									for (int k = 0; k < j; k++) {
-										registered.add(fNotifierLaunches[k]);
-									}
-								}
-							}
-						}
-						if (registered == null) {
-							fRegistered = fNotifierLaunches;
-						} else {
-							fRegistered = (ILaunch[])registered.toArray(new ILaunch[registered.size()]);
-						}
-					}
-					if (fRegistered.length > 0) {
-						if (fType == CHANGED) {
-							fListener.launchesChanged(fRegistered);
-						}
-						if (fType == TERMINATE && fListener instanceof ILaunchesListener2) {
-							((ILaunchesListener2)fListener).launchesTerminated(fRegistered);
-						}
-					}
-					break;
-			}
-		}
-
-		/**
-		 * Notifies the given listener of the adds/changes/removes
-		 * 
-		 * @param launches the launches that changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunch[] launches, int update) {
-			fNotifierLaunches = launches;
-			fType = update;
-			fRegistered = null;
-			Object[] copiedListeners= fLaunchesListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchesListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fNotifierLaunches = null;
-			fRegistered = null;
-			fListener = null;			
-		}
-	}
-	
-	protected ConfigurationNotifier getConfigurationNotifier() {
-		return new ConfigurationNotifier();
-	}
-	
-	/**
-	 * Notifies a launch config listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class ConfigurationNotifier implements ISafeRunnable {
-		
-		private ILaunchConfigurationListener fListener;
-		private int fType;
-		private ILaunchConfiguration fConfiguration;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.LaunchManager_An_exception_occurred_during_launch_configuration_change_notification__3, exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchConfigurationAdded(fConfiguration);
-					break;
-				case REMOVED:
-					fListener.launchConfigurationRemoved(fConfiguration);
-					break;
-				case CHANGED:
-					fListener.launchConfigurationChanged(fConfiguration);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param configuration the configuration that has changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunchConfiguration configuration, int update) {
-			fConfiguration = configuration;
-			fType = update;
-			if (fLaunchConfigurationListeners.size() > 0) {
-				Object[] listeners = fLaunchConfigurationListeners.getListeners();
-				for (int i = 0; i < listeners.length; i++) {
-					fListener = (ILaunchConfigurationListener)listeners[i];
-					Platform.run(this);
-				}
-			}
-			fConfiguration = null;
-			fListener = null;			
-		}
-	}
-	
-	/**
-	 * Load comparator extensions.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private synchronized void initializeLaunchModes() {
-		if (fLaunchModes == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_MODES);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fLaunchModes = new HashMap();
-			for (int i= 0; i < infos.length; i++) {
-				IConfigurationElement configurationElement = infos[i];
-				try {
-					ILaunchMode mode = new LaunchMode(configurationElement);
-					fLaunchModes.put(mode.getIdentifier(), mode);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-				
-			}
-		}
-	}
-	
-	/** 
-	 * Returns an array of environment variables to be used when
-	 * launching the given configuration or <code>null</code> if unspecified.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException {
-		Map configEnv = configuration.getAttribute(ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-		if (configEnv == null) {
-			return null;
-		}
-		Map env = null;
-		// build base environment
-		env= new HashMap();
-		boolean append= configuration.getAttribute(ATTR_APPEND_ENVIRONMENT_VARIABLES, true);
-		if (append) {
-			env.putAll(getNativeEnvironmentCasePreserved());
-		}
-		
-		// Add variables from config
-		Iterator iter= configEnv.entrySet().iterator();
-		boolean win32= Platform.getOS().equals(Constants.OS_WIN32);
-		while (iter.hasNext()) {
-			Map.Entry entry= (Map.Entry) iter.next();
-			String key= (String) entry.getKey();
-            String value = (String) entry.getValue();
-            // translate any string substitution variables
-            value = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
-            boolean added= false;
-			if (win32) {
-                // First, check if the key is an exact match for an existing key.
-                Object nativeValue= env.get(key);
-                if (nativeValue != null) {
-                    // If an exact match is found, just replace the value
-                    env.put(key, value);
-                } else {
-                    // Win32 vars are case-insensitive. If an exact match isn't found, iterate to
-                    // check for a case-insensitive match. We maintain the key's case (see bug 86725),
-                    // but do a case-insensitive comparison (for example, "pAtH" will still override "PATH").
-                    Iterator envIter= env.entrySet().iterator();
-                    while (envIter.hasNext()) {
-                        Map.Entry nativeEntry = (Map.Entry) envIter.next();
-                        String nativeKey= (String) (nativeEntry).getKey();
-                        if (nativeKey.equalsIgnoreCase(key)) {
-                            nativeEntry.setValue(value);
-                            added= true;
-                            break;
-                        }
-                    }
-                }
-			}
-            if (!added) {
-                env.put(key, value);
-            }
-		}		
-		
-		iter= env.entrySet().iterator();
-		List strings= new ArrayList(env.size());
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			StringBuffer buffer= new StringBuffer((String) entry.getKey());
-			buffer.append('=').append((String) entry.getValue());
-			strings.add(buffer.toString());
-		}
-		return (String[]) strings.toArray(new String[strings.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironment()
-	 */
-	public synchronized Map getNativeEnvironment() {
-		if (fgNativeEnv == null) {
-			Map casePreserved = getNativeEnvironmentCasePreserved();
-			if (Platform.getOS().equals(Constants.OS_WIN32)) {
-				fgNativeEnv= new HashMap();
-				Iterator entries = casePreserved.entrySet().iterator();
-				while (entries.hasNext()) {
-					Map.Entry entry = (Entry) entries.next();
-					String key = ((String)entry.getKey()).toUpperCase();
-					fgNativeEnv.put(key, entry.getValue());
-				}
-			} else {
-				fgNativeEnv = new HashMap(casePreserved);
-			}
-		}
-		return new HashMap(fgNativeEnv);
-	}
-	
-	/**
-	 * Computes and caches the native system environment variables as a map of
-	 * variable names and values (Strings) in the given map.
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. This
-	 * method preserves mixed-case keys using the variable names 
-	 * recorded by the OS.
-	 * </p>
-	 * @since 3.1
-	 */	
-	private void cacheNativeEnvironment(Map cache) {
-		try {
-			String nativeCommand= null;
-			boolean isWin9xME= false; //see bug 50567
-			String fileName= null;
-			if (Platform.getOS().equals(Constants.OS_WIN32)) {
-				String osName= System.getProperty("os.name"); //$NON-NLS-1$
-				isWin9xME= osName != null && (osName.startsWith("Windows 9") || osName.startsWith("Windows ME")); //$NON-NLS-1$ //$NON-NLS-2$
-				if (isWin9xME) {
-					// Win 95, 98, and ME
-					// SET might not return therefore we pipe into a file
-					IPath stateLocation= DebugPlugin.getDefault().getStateLocation();
-					fileName= stateLocation.toOSString() + File.separator  + "env.txt"; //$NON-NLS-1$
-					nativeCommand= "command.com /C set > " + fileName; //$NON-NLS-1$
-				} else {
-					// Win NT, 2K, XP
-					nativeCommand= "cmd.exe /C set"; //$NON-NLS-1$
-				}
-			} else if (!Platform.getOS().equals(Constants.OS_UNKNOWN)){
-				nativeCommand= "printenv";		 //$NON-NLS-1$
-			}
-			if (nativeCommand == null) {
-				return;
-			}
-			Process process= Runtime.getRuntime().exec(nativeCommand);
-			if (isWin9xME) {
-				//read piped data on Win 95, 98, and ME
-				Properties p= new Properties();
-				File file= new File(fileName);
-				FileInputStream stream= new FileInputStream(file);
-				p.load(stream);
-				stream.close();
-				if (!file.delete()) {
-					file.deleteOnExit(); // if delete() fails try again on VM close
-				}
-				for (Enumeration enumeration = p.keys(); enumeration.hasMoreElements();) {
-					// Win32's environment vars are case insensitive. Put everything
-					// to uppercase so that (for example) the "PATH" variable will match
-					// "pAtH" correctly on Windows.
-					String key= (String) enumeration.nextElement();
-					//no need to cast value
-					cache.put(key, p.get(key));
-				}
-			} else {
-				//read process directly on other platforms
-				BufferedReader reader= new BufferedReader(new InputStreamReader(process.getInputStream()));
-				String line= reader.readLine();
-				while (line != null) {
-					int separator= line.indexOf('=');
-					if (separator > 0) {
-						String key= line.substring(0, separator);
-						String value= line.substring(separator + 1);
-						cache.put(key, value);
-					}
-					line= reader.readLine();
-				}
-				reader.close();
-			}
-		} catch (IOException e) {
-			// Native environment-fetching code failed.
-			// This can easily happen and is not useful to log.
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironmentCasePreserved()
-	 */
-	public synchronized Map getNativeEnvironmentCasePreserved() {
-		if (fgNativeEnvCasePreserved == null) {
-			fgNativeEnvCasePreserved= new HashMap();
-			cacheNativeEnvironment(fgNativeEnvCasePreserved);
-		}
-		return new HashMap(fgNativeEnvCasePreserved);
-	}	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#newSourcePathComputer(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException {
-		String id = null;
-		id = configuration.getAttribute(ISourcePathComputer.ATTR_SOURCE_PATH_COMPUTER_ID, (String)null);
-		
-		if (id == null) {
-			//use default computer for configuration type, if any			
-			return configuration.getType().getSourcePathComputer();							
-		}
-		return getSourcePathComputer(id);
-	}
-	
-	/**
-	 * Initializes source container type and source path computer extensions.
-	 */
-	private synchronized void initializeSourceContainerTypes() {
-		if (sourceContainerTypes == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_CONTAINER_TYPES);
-			IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-			sourceContainerTypes = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourceContainerTypes.put(
-						extensions[i].getAttribute("id"), //$NON-NLS-1$
-						new SourceContainerType(extensions[i]));
-			}
-			extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_PATH_COMPUTERS);
-			extensions = extensionPoint.getConfigurationElements();
-			sourcePathComputers = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourcePathComputers.put(
-						extensions[i].getAttribute("id"), //$NON-NLS-1$
-						new SourcePathComputer(extensions[i]));
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerType(java.lang.String)
-	 */
-	public ISourceContainerType getSourceContainerType(String id) {
-		initializeSourceContainerTypes();
-		return (ISourceContainerType) sourceContainerTypes.get(id);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerTypes()
-	 */
-	public ISourceContainerType[] getSourceContainerTypes() {
-		initializeSourceContainerTypes();
-		Collection containers = sourceContainerTypes.values();
-		return (ISourceContainerType[]) containers.toArray(new ISourceContainerType[containers.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourcePathComputer(java.lang.String)
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id) {
-		initializeSourceContainerTypes();
-		return (ISourcePathComputer) sourcePathComputers.get(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchModes()
-	 */
-	public ILaunchMode[] getLaunchModes() {
-		initializeLaunchModes();
-		Collection collection = fLaunchModes.values();
-		return (ILaunchMode[]) collection.toArray(new ILaunchMode[collection.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchMode(java.lang.String)
-	 */
-	public ILaunchMode getLaunchMode(String mode) {
-		initializeLaunchModes();
-		return (ILaunchMode) fLaunchModes.get(mode);
-	}
-	
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
deleted file mode 100644
index b4bfc5d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchMode;
-
-/**
- * Proxy to a launch mode extension.
- */
-public class LaunchMode implements ILaunchMode {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	/**
-	 * Constructs a new launch mode.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LaunchMode(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists("mode"); //$NON-NLS-1$
-		verifyAttributeExists("label"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LaunchMode_1,new String[]{attrName}), null));		 //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return fConfigurationElement.getAttribute("mode"); //$NON-NLS-1$;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getLabel()
-	 */
-	public String getLabel() {
-		return fConfigurationElement.getAttribute("label"); //$NON-NLS-1$;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
deleted file mode 100644
index 0517fb2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * 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 if and only if fSize != 0
-	 */
-	private Object[] fListeners= 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 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();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= 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.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public synchronized void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
deleted file mode 100644
index 7b820f5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manages logical structure extensions
- * 
- * @since 3.0
- */
-public class LogicalStructureManager {
-
-	private static LogicalStructureManager fgDefault;
-	private List fTypes = null;
-	private List fTypeProviders;
-
-    /**
-     * Map containing the user's selection for each combination of logical
-     * structure types.
-     * key: String - Comma-separated list of ints representing a combination of structure types.
-     *               These integers are indeces into the fStructureTypeIds array.
-     * value: Integer - One of the ints from the combo key (the one chosen by the user) or -1 if
-     *                  the user has chosen not to display any structures for this combination
-     */
-    private Map fStructureTypeSelections= null;
-    /**
-     * List of known type identifiers. An identifier's index in this list is used as
-     * its ID number. This list is maintained as a space-saving measure so that the various
-     * combinations of structure types can be persisted using indeces instead of storing the
-     * full index strings.
-     */
-    private List fStructureTypeIds= null;
-    
-    /**
-     * Preference key used for storing the user's selected structure for each combination
-     * or structures. The preference value is stored in the form:
-     * int,int,...,int|int,int,...int|...
-     * Where int is an integer index of a structure in the array of known structures.
-     */
-    public static final String PREF_STRUCTURE_SELECTIONS= "selectedStructures"; //$NON-NLS-1$
-    /**
-     * Preference key used for storing the array of known structures. The preference
-     * value is in the form:
-     * string,string,string,...,string,
-     * Where string is an identifier of a logical structure.
-     */
-    public static final String PREF_STRUCTURE_IDS= "allStructures"; //$NON-NLS-1$
-	
-	public static LogicalStructureManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new LogicalStructureManager();
-		}
-		return fgDefault;
-	}
-	
-    /**
-     * Returns the logical structure types that are applicable to the given value.
-     * @param value the value
-     * @return the logical structure types that are applicable to the given value
-     */
-	public ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		initialize();
-		// looks in the logical structure types
-		Iterator iterator = fTypes.iterator();
-		List select = new ArrayList();
-		while (iterator.hasNext()) {
-			ILogicalStructureType type = (ILogicalStructureType)iterator.next();
-			if (type.providesLogicalStructure(value)) {
-				select.add(type);
-			}
-		}
-		// asks the logical structure providers
-		for (Iterator iter= fTypeProviders.iterator(); iter.hasNext();) {
-			ILogicalStructureType[] logicalStructures= ((LogicalStructureProvider) iter.next()).getLogicalStructures(value);
-			for (int i= 0; i < logicalStructures.length; i++) {
-				select.add(logicalStructures[i]);
-			}
-		}
-		return (ILogicalStructureType[]) select.toArray(new ILogicalStructureType[select.size()]);
-	}
-    
-    /**
-     * Loads the map of structure selections from the preference store.
-     */
-    private void loadStructureTypeSelections() {
-        fStructureTypeSelections= new HashMap();
-        String selections= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_SELECTIONS);
-    	// selections are stored in the form:
-    	// selection|selection|...selection|
-        StringTokenizer tokenizer= new StringTokenizer(selections, "|"); //$NON-NLS-1$
-        while (tokenizer.hasMoreTokens()) {
-            String selection = tokenizer.nextToken();
-            // selection string is of the form:
-            // id,id,...,selectedid
-            int i = selection.lastIndexOf(',');
-            if (i > 0 && i < selection.length() - 1) {
-                String comboKey= selection.substring(0, i + 1);
-                String selected= selection.substring(i + 1, selection.length());
-                fStructureTypeSelections.put(comboKey, new Integer(Integer.parseInt(selected)));
-            }
-        }
-    }
-    
-    /**
-     * Stores the map of structure selections to the preference store
-     */
-    private void storeStructureTypeSelections() {
-        StringBuffer buffer= new StringBuffer();
-        Iterator iter = fStructureTypeSelections.entrySet().iterator();
-        while (iter.hasNext()) {
-            Map.Entry entry = (Entry) iter.next();
-            buffer.append(entry.getKey());
-            buffer.append(entry.getValue());
-            buffer.append('|');
-        }
-        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_SELECTIONS, buffer.toString());
-    }
-    
-    /**
-     * Loads the collection of known structures identifiers from the preference store
-     */
-    private void loadStructureTypeIds() {
-        fStructureTypeIds= new ArrayList();
-    	// Types are stored as a comma-separated, ordered list.
-        String types= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_IDS);
-        StringTokenizer tokenizer= new StringTokenizer(types, ","); //$NON-NLS-1$
-        while (tokenizer.hasMoreTokens()) {
-            String id= tokenizer.nextToken();
-            if (id.length() > 0) {
-                fStructureTypeIds.add(id);
-            }
-        }
-    }
-    
-    /**
-     * Stores the collection of known structure identifiers to the preference store
-     */
-    private void storeStructureTypeIds() {
-        StringBuffer buffer= new StringBuffer();
-        Iterator iter = fStructureTypeIds.iterator();
-        while (iter.hasNext()) {
-            buffer.append(iter.next()).append(',');
-        }
-        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_IDS, buffer.toString());
-    }
-    
-    /**
-     * Returns the structure that the user has chosen from among the given
-     * collection of structures or <code>null</code> if the user has chosen
-     * to display none.
-     * @param structures the collection of structures available
-     * @return the structure that the user has chosen from among the given collection
-     *  or <code>null</code> if the user has chosen to display none
-     */
-    public ILogicalStructureType getSelectedStructureType(ILogicalStructureType[] structureTypes) {
-        if (structureTypes.length == 0) {
-            return null;
-        }
-        String combo= getComboString(structureTypes);
-        // Lookup the combo
-        Integer index = (Integer) fStructureTypeSelections.get(combo);
-        if (index == null) {
-            // If the user hasn't explicitly chosen anything for this
-            // combo yet, just return the first type.
-            return structureTypes[0];
-        } else if (index.intValue() == -1) {
-            // An index of -1 means the user has deselected all structures for this combo
-            return null;
-        }
-        // If an index is stored for this combo, retrieve the id at the index
-        String id= (String) fStructureTypeIds.get(index.intValue());
-        for (int i = 0; i < structureTypes.length; i++) {
-            // Return the type with the retrieved id
-            ILogicalStructureType type = structureTypes[i];
-            if (type.getId().equals(id)) {
-                return type;
-            }
-        }
-        return structureTypes[0];
-    }
-    
-    /**
-     * 
-     * @param types
-     * @param selected the type that is selected for the given combo or <code>null</code>
-     *  if the user has deselected any structure for the given combo
-     */
-    public void setEnabledType(ILogicalStructureType[] types, ILogicalStructureType selected) {
-        String combo= getComboString(types);
-        int index= -1; // Initialize to "none selected"
-        if (selected != null) {
-            index= fStructureTypeIds.indexOf(selected.getId());
-        }
-        Integer integer= new Integer(index);
-        fStructureTypeSelections.put(combo, integer);
-        storeStructureTypeSelections();
-        storeStructureTypeIds();
-        DebugPlugin.getDefault().savePluginPreferences();
-    }
-    
-    /**
-     * Returns the string representing the given combination of logical
-     * structure types. This string will be a series of comma-separated
-     * indeces representing the various types. If any of the given types
-     * don't have indeces associated with them, this method will create
-     * the appropriate index.
-     * @param types the logical structure types
-     * @return the string representing the given combination of logical
-     *  structure types
-     */
-    protected String getComboString(ILogicalStructureType[] types) {
-        StringBuffer comboKey= new StringBuffer();
-        for (int i = 0; i < types.length; i++) {
-            ILogicalStructureType type = types[i];
-            int typeIndex = fStructureTypeIds.indexOf(type.getId());
-            if (typeIndex == -1) {
-                typeIndex= fStructureTypeIds.size();
-                fStructureTypeIds.add(type.getId());
-            }
-            comboKey.append(typeIndex).append(',');
-        }
-        return comboKey.toString();
-    }
-	
-	private void initialize() {
-		if (fTypes == null) {
-			//get the logical structure types from the extension points
-			IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES);
-			IConfigurationElement[] extensions = point.getConfigurationElements();
-			fTypes = new ArrayList(extensions.length);
-			for (int i = 0; i < extensions.length; i++) {
-				IConfigurationElement extension = extensions[i];
-				LogicalStructureType type;
-				try {
-					type = new LogicalStructureType(extension);
-					fTypes.add(type);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-			// get the logical structure providers from the extension point
-			point= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS);
-			extensions= point.getConfigurationElements();
-			fTypeProviders= new ArrayList(extensions.length);
-			for (int i= 0; i < extensions.length; i++) {
-				try {
-					fTypeProviders.add(new LogicalStructureProvider(extensions[i]));
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-		}
-        if (fStructureTypeSelections == null) {
-            loadStructureTypeSelections();
-        }
-        if (fStructureTypeIds == null) {
-            loadStructureTypeIds();
-        }
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
deleted file mode 100644
index b521292..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureProvider;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manage logical structure provider extensions
- */
-public class LogicalStructureProvider {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private String fModelIdentifier;
-
-	private ILogicalStructureProvider fDelegate;
-
-	public LogicalStructureProvider(IConfigurationElement element) throws CoreException {
-		fConfigurationElement= element;
-		fModelIdentifier= fConfigurationElement.getAttribute("modelIdentifier"); //$NON-NLS-1$
-		if (fModelIdentifier == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.LogicalStructureProvider_0, null)); //$NON-NLS-1$
-		}
-		String className= fConfigurationElement.getAttribute("class"); //$NON-NLS-1$
-		if (className == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.LogicalStructureProvider_1, null)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Return the logical structure type able to provide a logical structure for
-	 * the given value.
-	 */
-	public ILogicalStructureType[] getLogicalStructures(IValue value) {
-		if (fModelIdentifier.equals(value.getModelIdentifier())) {
-			return getDelegate().getLogicalStructureTypes(value);
-		}
-		return new ILogicalStructureType[0];
-	}
-
-	/**
-	 * Return the ILogicalStructureProvider for this extension.
-	 */
-	protected ILogicalStructureProvider getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILogicalStructureProvider) fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
deleted file mode 100644
index 10f81bb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.*;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Proxy to a logical structure type extension.
- */
-public class LogicalStructureType implements ILogicalStructureType {
-
-	private IConfigurationElement fConfigurationElement;
-	private ILogicalStructureTypeDelegate fDelegate;
-	private String fModelId;
-	// whether the 'description' attribute has been verified to exist: it is only
-	// required when the delegate does *not* implement ILogicalStructureTypeDelegate2.
-	private boolean fVerifiedDescription = false; 
-	
-	/**
-	 * Constructs a new logical structure type, and verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LogicalStructureType(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists("id"); //$NON-NLS-1$
-		verifyAttributeExists("class"); //$NON-NLS-1$
-		fModelId = fConfigurationElement.getAttribute("modelIdentifier"); //$NON-NLS-1$
-		if (fModelId == null) {
-			missingAttribute("modelIdentifier"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.LogicalStructureType_7,new String[]{attrName}), null));		 //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getDescription()
-	 */
-	public String getDescription() {
-		return fConfigurationElement.getAttribute("description"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getId()
-	 */
-	public String getId() {
-		return fConfigurationElement.getAttribute("id"); //$NON-NLS-1$
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException {
-		return getDelegate().getLogicalStructure(value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#providesLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean providesLogicalStructure(IValue value) {
-		if (value.getModelIdentifier().equals(fModelId)) {
-			return getDelegate().providesLogicalStructure(value);
-		}
-		return false;
-	}
-
-	protected ILogicalStructureTypeDelegate getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILogicalStructureTypeDelegate) fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2#getDescription(org.eclipse.debug.core.model.IValue)
-	 */
-	public String getDescription(IValue value) {
-		ILogicalStructureTypeDelegate delegate = getDelegate();
-		if (delegate instanceof ILogicalStructureTypeDelegate2) {
-			ILogicalStructureTypeDelegate2 d2 = (ILogicalStructureTypeDelegate2) delegate;
-			return d2.getDescription(value);
-		}
-		if (!fVerifiedDescription) {
-		    fVerifiedDescription = true;
-		    try {
-                verifyAttributeExists("description"); //$NON-NLS-1$
-            } catch (CoreException e) {
-                DebugPlugin.log(e);
-            }
-		}
-		String description = getDescription();
-		if (description == null) {
-		    return DebugCoreMessages.LogicalStructureType_0; //$NON-NLS-1$
-		}
-		return description;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
deleted file mode 100644
index 8167180..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.IMemoryBlockManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Implementation of IMemoryBlockManager
- * The manager is responsible to manage all memory blocks in the workbench.
- * 
- * @since 3.1
- * 
- */
-/**
- * MemoryBlockManager
- */
-/**
- * MemoryBlockManager
- */
-public class MemoryBlockManager implements IMemoryBlockManager, IDebugEventSetListener {
-	
-	private ArrayList listeners = new ArrayList();			// list of all IMemoryBlockListener
-	private ArrayList memoryBlocks = new ArrayList();	// list of all memory blocks 
-	
-	private static final int ADDED = 0;
-	private static final int REMOVED = 1;
-	/**
-	 * Notifies a memory block listener in a safe runnable to
-	 * handle exceptions.
-	 */
-	class MemoryBlockNotifier implements ISafeRunnable {
-		
-		private IMemoryBlockListener fListener;
-		private int fType;
-		private IMemoryBlock[] fMemoryBlocks;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.memoryBlocksAdded(fMemoryBlocks);
-					break;
-				case REMOVED:
-					fListener.memoryBlocksRemoved(fMemoryBlocks);
-					break;
-			}			
-		}
-
-		/**
-		 * Notify listeners of added/removed memory block events
-		 */
-		public void notify(IMemoryBlock[] memBlocks, int update) {
-			if (listeners != null) {
-				fType = update;
-				Object[] copiedListeners= listeners.toArray(new IMemoryBlockListener[listeners.size()]);
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IMemoryBlockListener)copiedListeners[i];
-					fMemoryBlocks = memBlocks;
-					Platform.run(this);
-				}			
-			}
-			fListener = null;
-			fMemoryBlocks = null;
-		}
-	}
-	
-	private MemoryBlockNotifier getMemoryBlockNotifier() {
-		return new MemoryBlockNotifier();
-	}	
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#addMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void addMemoryBlocks(IMemoryBlock[] mem) {
-		
-		if (memoryBlocks == null)
-			return;
-		
-		if (mem == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}
-		
-		ArrayList newMemoryBlocks = new ArrayList();
-		
-		for (int i=0; i<mem.length; i++)
-		{
-			// do not allow duplicates
-			if (!memoryBlocks.contains(mem[i]))
-			{
-			
-				newMemoryBlocks.add(mem[i]);
-				memoryBlocks.add(mem[i]);
-				
-				// add listener for the first memory block added
-				if (memoryBlocks.size() == 1)
-				{
-					DebugPlugin.getDefault().addDebugEventListener(this);
-				}
-			}
-		}
-		
-		notifyListeners((IMemoryBlock[])newMemoryBlocks.toArray(new IMemoryBlock[newMemoryBlocks.size()]), ADDED);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#removeMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void removeMemoryBlocks(IMemoryBlock[] memBlocks) {
-		
-		if (memoryBlocks == null)
-			return;
-		
-		if (memBlocks == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}		
-		
-		for (int i=0; i<memBlocks.length; i++)
-		{
-			memoryBlocks.remove(memBlocks[i]);
-			// remove listener after the last memory block has been removed
-			if (memoryBlocks.size() == 0)
-			{
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-			}
-			
-			if (memBlocks[i] instanceof IMemoryBlockExtension)
-			{ 
-				try {
-					((IMemoryBlockExtension)memBlocks[i]).dispose();
-				} catch (DebugException e) {
-					DebugPlugin.log(e);
-				}
-			}
-		}
-		
-		notifyListeners(memBlocks, REMOVED);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#addListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void addListener(IMemoryBlockListener listener) {
-		
-		if(listeners == null)
-			return;
-		
-		if(listener == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addListener", null); //$NON-NLS-1$
-			return;
-		}
-		
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#removeListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void removeListener(IMemoryBlockListener listener) {
-		
-		if(listeners == null)
-			return;
-		
-		if(listener == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeListener", null); //$NON-NLS-1$
-			return;
-		}
-		
-		if (listeners.contains(listener))
-			listeners.remove(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IMemoryBlockManager#getMemoryBlocks()
-	 */
-	public IMemoryBlock[] getMemoryBlocks() {
-		
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		return blocks;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IDebugTarget)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget) {
-		
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		ArrayList memoryBlocksList = new ArrayList();
-		
-		for (int i=0; i<blocks.length; i++)
-		{
-			if (blocks[i].getDebugTarget() == debugTarget)
-				memoryBlocksList.add(blocks[i]);
-		}
-		
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IMemoryBlockRetrieval)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval retrieve) {
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		ArrayList memoryBlocksList = new ArrayList(blocks.length);
-		
-		for (int i=0; i<blocks.length; i++)
-		{
-			if (blocks[i] instanceof IMemoryBlockExtension)
-			{	
-			
-				if (((IMemoryBlockExtension)blocks[i]).getMemoryBlockRetrieval() == retrieve)
-				{	
-					memoryBlocksList.add(blocks[i]);
-				}
-			}
-			else
-			{	
-				// standard memory block always uses the debug target as the memory block retrieval
-				if (blocks[i].getDebugTarget() == retrieve)
-					memoryBlocksList.add(blocks[i]);
-			}
-		}
-		
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-	}
-	
-	
-	private void notifyListeners(IMemoryBlock[] memBlocks, int event)
-	{
-		getMemoryBlockNotifier().notify(memBlocks, event);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		
-		for (int i=0; i < events.length; i++)
-			handleDebugEvent(events[i]);
-		
-	}
-	
-	public void handleDebugEvent(DebugEvent event) {
-		Object obj = event.getSource();
-		IDebugTarget dt = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE)
-		{
-			// a terminate event could happen from an IThread or IDebugTarget
-			// only handle a debug event from the debug target
-			if (obj instanceof IDebugTarget)
-			{
-				dt = ((IDebugTarget)obj);
-				
-				// getMemoryBlocks will return an empty array if dt is null
-				IMemoryBlock[] deletedMemoryBlocks = getMemoryBlocks(dt);
-				removeMemoryBlocks(deletedMemoryBlocks);
-			}
-		}
-	}
-	
-	/**
-	 * Clean up when the plugin is shut down
-	 */
-	public void shutdown()
-	{
-		if (listeners != null)
-		{
-			listeners.clear();
-			listeners = null;
-		}
-		
-		if (memoryBlocks != null)
-		{
-			memoryBlocks.clear();
-			memoryBlocks = null;
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
deleted file mode 100644
index 50cda6f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-public class NullStreamsProxy implements IStreamsProxy2 {
-    private NullStreamMonitor outputStreamMonitor;
-    private NullStreamMonitor errorStreamMonitor;
-    
-    public NullStreamsProxy(Process process) {
-        outputStreamMonitor = new NullStreamMonitor(process.getInputStream());
-        errorStreamMonitor = new NullStreamMonitor(process.getErrorStream());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
-     */
-    public void closeInputStream() throws IOException {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#getErrorStreamMonitor()
-     */
-    public IStreamMonitor getErrorStreamMonitor() {
-        return errorStreamMonitor;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#getOutputStreamMonitor()
-     */
-    public IStreamMonitor getOutputStreamMonitor() {
-        return outputStreamMonitor;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#write(java.lang.String)
-     */
-    public void write(String input) throws IOException {
-    }
-
-    private class NullStreamMonitor implements IStreamMonitor {
-        private InputStream fStream;
-
-        public NullStreamMonitor(InputStream stream) {
-            fStream = stream;
-            startReaderThread();
-        }
-
-        private void startReaderThread() {
-            Thread thread = new Thread(new Runnable() {
-                public void run() {
-                    byte[] bytes = new byte[1024];
-                    try {
-                        while(fStream.read(bytes) >= 0) {
-                            //do nothing
-                        }
-                    } catch (IOException e) {
-                    }
-                }
-            }, DebugCoreMessages.NullStreamsProxy_0); //$NON-NLS-1$
-            thread.setDaemon(true);
-            thread.start();
-            
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-         */
-        public void addListener(IStreamListener listener) {    
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-         */
-        public String getContents() {
-            return ""; //$NON-NLS-1$
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-         */
-        public void removeListener(IStreamListener listener) {
-        }
-    }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
deleted file mode 100644
index 32419d5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IFlushableStreamMonitor;
-
-/**
- * Monitors the output stream of a system process and notifies 
- * listeners of additions to the stream.
- * 
- * The output stream monitor reads system out (or err) via
- * and input stream.
- */
-public class OutputStreamMonitor implements IFlushableStreamMonitor {
-	/**
-	 * The stream being monitored (connected system out or err).
-	 */
-	private InputStream fStream;
-
-	/**
-	 * A collection of listeners
-	 */
-	private ListenerList fListeners= new ListenerList(1);
-	
-	/**
-	 * Whether content is being buffered
-	 */
-	private boolean fBuffered = true;
-
-	/**
-	 * The local copy of the stream contents
-	 */
-	private StringBuffer fContents;
-
-	/**
-	 * The thread which reads from the stream
-	 */
-	private Thread fThread;
-
-	/**
-	 * The size of the read buffer
-	 */
-	private static final int BUFFER_SIZE= 8192;
-
-	/**
-	 * Whether or not this monitor has been killed.
-	 * When the monitor is killed, it stops reading
-	 * from the stream immediately.
-	 */
-	private boolean fKilled= false;
-	
-    private long lastSleep;
-    
-	/**
-	 * Creates an output stream monitor on the
-	 * given stream (connected to system out or err).
-	 */
-	public OutputStreamMonitor(InputStream stream) {
-        fStream = new BufferedInputStream(stream, 8192);
-		fContents= new StringBuffer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public synchronized void addListener(IStreamListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Causes the monitor to close all
-	 * communications between it and the
-	 * underlying stream by waiting for the thread to terminate.
-	 */
-	protected void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			try {
-				thread.join();
-			} catch (InterruptedException ie) {
-			}
-			fListeners.removeAll();
-		}
-	}
-
-	/**
-	 * Notifies the listeners that text has
-	 * been appended to the stream.
-	 */
-	private void fireStreamAppended(String text) {
-		getNotifier().notifyAppend(text);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-	 */
-	public synchronized String getContents() {
-		return fContents.toString();
-	}
-
-	/**
-	 * Continually reads from the stream.
-	 * <p>
-	 * This method, along with the <code>startReading</code>
-	 * method is used to allow <code>OutputStreamMonitor</code>
-	 * to implement <code>Runnable</code> without publicly
-	 * exposing a <code>run</code> method.
-	 */
-	private void read() {
-        lastSleep = System.currentTimeMillis();
-        long currentTime = lastSleep;
-		byte[] bytes= new byte[BUFFER_SIZE];
-		int read = 0;
-		while (read >= 0) {
-			try {
-				if (fKilled) {
-					break;
-				}
-				read= fStream.read(bytes);
-				if (read > 0) {
-					String text= new String(bytes, 0, read);
-					synchronized (this) {
-						if (isBuffered()) {
-							fContents.append(text);
-						}
-						fireStreamAppended(text);
-					}
-				}
-			} catch (IOException ioe) {
-				DebugPlugin.log(ioe);
-				return;
-			} catch (NullPointerException e) {
-				// killing the stream monitor while reading can cause an NPE
-				// when reading from the stream
-				if (!fKilled && fThread != null) {
-					DebugPlugin.log(e);
-				}
-				return;
-			}
-            
-            currentTime = System.currentTimeMillis();
-            if (currentTime - lastSleep > 1000) {
-                lastSleep = currentTime;
-                try {
-                    Thread.sleep(1); // just give up CPU to maintain UI responsiveness.
-                } catch (InterruptedException e) {
-                } 
-            }
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	protected void kill() {
-		fKilled= true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public synchronized void removeListener(IStreamListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Starts a thread which reads from the stream
-	 */
-	protected void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					read();
-				}
-			}, DebugCoreMessages.OutputStreamMonitor_label); //$NON-NLS-1$
-            fThread.setDaemon(true);
-            fThread.setPriority(Thread.MIN_PRIORITY);
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
-	 */
-	public synchronized void setBuffered(boolean buffer) {
-		fBuffered = buffer;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
-	 */
-	public synchronized void flushContents() {
-		fContents.setLength(0);
-	}
-	
-	/**
-	 * @see IFlushableStreamMonitor#isBuffered()
-	 */
-	public synchronized boolean isBuffered() {
-		return fBuffered;
-	}
-
-	private ContentNotifier getNotifier() {
-		return new ContentNotifier();
-	}
-	
-	class ContentNotifier implements ISafeRunnable {
-		
-		private IStreamListener fListener;
-		private String fText;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.streamAppended(fText, OutputStreamMonitor.this);
-		}
-
-		public void notifyAppend(String text) {
-			if (text == null)
-				return;
-			fText = text;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IStreamListener) copiedListeners[i];
-				Platform.run(this);
-			}
-			fListener = null;
-			fText = null;		
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
deleted file mode 100644
index 21d312a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-/**
- * Standard implementation of a streams proxy for s 
- * StreamsProxy
- */
-
-public class StreamsProxy implements IStreamsProxy, IStreamsProxy2 {
-	/**
-	 * The monitor for the output stream (connected to standard out of the process)
-	 */
-	private OutputStreamMonitor fOutputMonitor;
-	/**
-	 * The monitor for the error stream (connected to standard error of the process)
-	 */
-	private OutputStreamMonitor fErrorMonitor;
-	/**
-	 * The monitor for the input stream (connected to standard in of the process)
-	 */
-	private InputStreamMonitor fInputMonitor;
-	/**
-	 * Records the open/closed state of communications with
-	 * the underlying streams.
-	 */
-	private boolean fClosed= false;
-	/**
-	 * Creates a <code>StreamsProxy</code> on the streams
-	 * of the given system process.
-	 */
-	public StreamsProxy(Process process) {
-		if (process == null) {
-			return;
-		}
-		fOutputMonitor= new OutputStreamMonitor(process.getInputStream());
-		fErrorMonitor= new OutputStreamMonitor(process.getErrorStream());
-		fInputMonitor= new InputStreamMonitor(process.getOutputStream());
-		fOutputMonitor.startMonitoring();
-		fErrorMonitor.startMonitoring();
-		fInputMonitor.startMonitoring();
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams after all remaining data
-	 * in the streams is read.
-	 */
-	public void close() {
-		if (!fClosed) {
-			fClosed= true;
-			fOutputMonitor.close();
-			fErrorMonitor.close();
-			fInputMonitor.close();
-		}
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams immediately.
-	 * Data remaining in the streams is lost.
-	 */	
-	public void kill() {
-		fClosed= true;
-		fOutputMonitor.kill();
-		fErrorMonitor.kill();
-		fInputMonitor.close();
-	}
-
-	/**
-	 * @see IStreamsProxy#getErrorStreamMonitor()
-	 */
-	public IStreamMonitor getErrorStreamMonitor() {
-		return fErrorMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#getOutputStreamMonitor()
-	 */
-	public IStreamMonitor getOutputStreamMonitor() {
-		return fOutputMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#write(String)
-	 */
-	public void write(String input) throws IOException {
-		if (!fClosed) {
-			fInputMonitor.write(input);
-		} else {
-			throw new IOException();
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
-     */
-    public void closeInputStream() throws IOException {
-        if (!fClosed) {
-            fInputMonitor.closeInputStream();
-        } else {
-            throw new IOException();
-        }
-        
-    }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
deleted file mode 100644
index da4d5e5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-
-/**
- * Resolves common system variables. The current set of variables
- * supported (referenced as an argument to this variable) are:
- * <ul>
- * <li>ARCH - value of <code>BootLoader.getOSArch()</code></li>
- * <li>ECLIPSE_HOME - location of the Eclipse installation</li>
- * <li>NL - value of <code>BootLoader.getNL()</code></li>
- * <li>OS - value of <code>BootLoader.getOS()</code></li>
- * <li>WS - value of <code>BootLoader.getWS()</code></li>
- * </ul>
- * @since 3.0
- */
-public class SystemVariableResolver implements IDynamicVariableResolver {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		if ("ARCH".equals(argument)) { //$NON-NLS-1$
-			return Platform.getOSArch();
-		} else if ("ECLIPSE_HOME".equals(argument)) { //$NON-NLS-1$
-			URL installURL = Platform.getInstallLocation().getURL();
-			IPath ppath = new Path(installURL.getFile()).removeTrailingSeparator();
-			return getCorrectPath(ppath.toOSString());
-		} else if ("NL".equals(argument)) { //$NON-NLS-1$
-			return Platform.getNL();
-		} else if ("OS".equals(argument)) { //$NON-NLS-1$
-			return Platform.getOS();
-		} else if ("WS".equals(argument)) { //$NON-NLS-1$
-			return Platform.getWS();
-		}
-		return null;
-	}
-	
-	private static String getCorrectPath(String path) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < path.length(); i++) {
-			char c = path.charAt(i);
-			if (Platform.getOS().equals("win32")) { //$NON-NLS-1$
-				if (i == 0 && c == '/')
-					continue;
-			}
-			// Some VMs may return %20 instead of a space
-			if (c == '%' && i + 2 < path.length()) {
-				char c1 = path.charAt(i + 1);
-				char c2 = path.charAt(i + 2);
-				if (c1 == '2' && c2 == '0') {
-					i += 2;
-					buf.append(" "); //$NON-NLS-1$
-					continue;
-				}
-			}
-			buf.append(c);
-		}
-		return buf.toString();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
deleted file mode 100644
index 0b23343..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.eclipse.debug.core.model.IWatchExpressionListener;
-import org.eclipse.debug.core.model.IWatchExpressionResult;
-
-/**
- * Base watch expression implementation.
- * <p>
- * Clients may extend this class.
- * </p>
- * @since 3.0
- */
-public class WatchExpression implements IWatchExpression {
-	
-	protected String fExpressionText;
-	protected IWatchExpressionResult fResult;
-	protected IDebugTarget fDebugTarget;
-	protected IDebugElement fCurrentContext;
-	private boolean fEnabled= true;
-	private boolean fPending= false;
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * text.
-	 * @param expression the text of the expression to be evaluated.
-	 */
-	public WatchExpression(String expression) {
-		fExpressionText= expression;
-	}
-
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 */
-	public WatchExpression(String expressionText, boolean enabled) {
-		this(expressionText);
-		fEnabled= enabled;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#evaluate()
-	 */
-	public void evaluate() {
-		if (fCurrentContext == null) {
-			return;
-		}
-		IDebugElement context= fCurrentContext;
-		fDebugTarget= context.getDebugTarget();
-			
-		IWatchExpressionListener listener= new IWatchExpressionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.core.model.IWatchExpressionListener#watchEvaluationFinished(org.eclipse.debug.core.model.IWatchExpressionResult)
-			 */
-			public void watchEvaluationFinished(IWatchExpressionResult result) {
-				setPending(false);
-				setResult(result);
-			}
-		};
-		setPending(true);
-		IWatchExpressionDelegate delegate= DebugPlugin.getDefault().getExpressionManager().newWatchExpressionDelegate(context.getModelIdentifier());
-		if (delegate != null) {
-			delegate.evaluateExpression(getExpressionText(), context, listener);
-		} else {
-			// No delegate provided
-			listener.watchEvaluationFinished(new IWatchExpressionResult() {
-				public IValue getValue() {
-					return null;
-				}
-				public boolean hasErrors() {
-					return true;
-				}
-				public String[] getErrorMessages() {
-					return new String[] { DebugCoreMessages.WatchExpression_0 }; //$NON-NLS-1$
-				}
-				public String getExpressionText() {
-					return WatchExpression.this.getExpressionText();
-				}
-				public DebugException getException() {
-					return null;
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionContext(org.eclipse.debug.core.model.IDebugElement)
-	 */
-	public void setExpressionContext(IDebugElement context) {
-		fCurrentContext= context;
-		if (context == null) {
-			setResult(null);
-			return;
-		}
-		if (!isEnabled()) {
-			return;
-		}
-		
-		evaluate();
-	}
-
-	/**
-	 * Sets the result of the last expression and fires notification that
-	 * this expression's value has changed.
-	 */
-	public void setResult(IWatchExpressionResult result) {
-		fResult= result;
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {new DebugEvent(this, DebugEvent.CHANGE)});
-	}
-	
-	/**
-	 * Notifies the expression manager that this watch expression's
-	 * values have changed so the manager can update the
-	 * persisted expression.
-	 */
-	private void watchExpressionChanged() {
-		((ExpressionManager)DebugPlugin.getDefault().getExpressionManager()).watchExpressionChanged(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		return fExpressionText;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getValue()
-	 */
-	public IValue getValue() {
-		if (fResult == null) {
-			return null;
-		}
-		return fResult.getValue();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fDebugTarget;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		if (fCurrentContext != null) {
-			return fCurrentContext.getModelIdentifier();
-		}
-		return DebugPlugin.getUniqueIdentifier();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		IDebugTarget debugTarget = getDebugTarget();
-		if (debugTarget != null) {
-		    return debugTarget.getLaunch();
-		}
-		return null; 
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @param enabled
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled= enabled;
-		watchExpressionChanged();
-		evaluate();
-	}
-
-	/**
-	 * @param expression
-	 */
-	public void setExpressionText(String expression) {
-		fExpressionText= expression;
-		watchExpressionChanged();
-		evaluate();
-	}
-
-	/**
-	 * @return Whether or not this watch expression is currently enabled.
-	 * 		Enabled watch expressions will continue to update their value
-	 * 		automatically. Disabled expressions require a manual update.
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#isPending()
-	 */
-	public boolean isPending() {
-		return fPending;
-	}
-	
-	/**
-	 * Sets the pending state of this expression.
-	 * 
-	 * @param pending whether or not this expression should be
-	 * 		flagged as pending
-	 */
-	protected void setPending(boolean pending) {
-		fPending= pending;
-		watchExpressionChanged();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#hasErrors()
-	 */
-	public boolean hasErrors() {
-		return fResult != null && fResult.hasErrors();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#getErrorMessages()
-	 */
-	public String[] getErrorMessages() {
-		if (fResult == null) {
-			return new String[0];
-		}
-		return fResult.getErrorMessages();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
deleted file mode 100644
index f361a9f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-
-/**
- * Proxy to contributed source container type extension.
- * 
- * @since 3.0
- */
-public class SourceContainerType implements ISourceContainerType {
-	
-	// lazily instantiated delegate
-	private ISourceContainerTypeDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source container type on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourceContainerType(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		return getDelegate().createSourceContainer(memento);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		if (this.equals(container.getType())) {
-			return getDelegate().getMemento(container);
-		}
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.SourceContainerType_3, null); //$NON-NLS-1$
-		throw new CoreException(status);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getName()
-	 */
-	public String getName() {
-		return fElement.getAttribute("name"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourceContainerTypeDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourceContainerTypeDelegate) fElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getDescription()
-	 */
-	public String getDescription() {
-		return fElement.getAttribute("description"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
deleted file mode 100644
index 159b816..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.util.Comparator;
-
-/**
- * Comparator for source locator mementors. Ignores whitespace differences.
- * 
- * @since 3.0
- */
-public class SourceLocatorMementoComparator implements Comparator {
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String m1 = (String)o1;
-		String m2 = (String)o2;
-		int i1 = 0, i2 = 0;
-		while (i1 < m1.length()) {
-			i1 = skipWhitespace(m1, i1);
-			i2 = skipWhitespace(m2, i2);
-			if (i1 < m1.length() && i2 < m2.length()) {
-				if (m1.charAt(i1) != m2.charAt(i2)) {
-					return -1;
-				}
-				i1++;
-				i2++;
-			} else {
-				if (i2 < m2.length()) {
-					return -1;
-				} 
-				return 0;
-			}
-		}
-		return 0;
-	}
-	
-	private int skipWhitespace(String string, int offset) {
-		while (offset < string.length() && Character.isWhitespace(string.charAt(offset))) {
-			offset++;
-		}
-		return offset;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
deleted file mode 100644
index a9b4299..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.osgi.util.NLS;
-
-public class SourceLookupMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages";//$NON-NLS-1$
-
-	public static String AbstractSourceLookupDirector_11;
-	public static String AbstractSourceLookupDirector_12;
-	public static String AbstractSourceLookupDirector_13;
-	public static String AbstractSourceLookupDirector_14;
-	public static String AbstractSourceLookupDirector_19;
-	public static String CompositeSourceContainer_0;
-
-	public static String ExternalArchiveSourceContainer_1;
-	public static String ExternalArchiveSourceContainer_2;
-
-	public static String ExternalArchiveSourceContainerType_10;
-	public static String ExternalArchiveSourceContainerType_11;
-	public static String ExternalArchiveSourceContainerType_12;
-
-	public static String DefaultSourceContainer_0;
-	public static String DefaultSourceContainerType_6;
-	public static String DefaultSourceContainerType_7;
-
-	public static String DirectorySourceContainerType_10;
-	public static String DirectorySourceContainerType_11;
-	public static String DirectorySourceContainerType_12;
-
-	public static String FolderSourceContainerType_10;
-	public static String FolderSourceContainerType_11;
-	public static String FolderSourceContainerType_12;
-
-	public static String LocalFileStorage_0;
-
-	public static String ProjectSourceContainerType_10;
-	public static String ProjectSourceContainerType_11;
-	public static String ProjectSourceContainerType_12;
-
-	public static String SourceLookupUtils_3;
-	public static String SourceLookupUtils_4;
-	public static String SourceLookupUtils_5;
-	public static String SourceLookupUtils_6;
-	public static String SourceLookupUtils_7;
-	public static String SourceLookupUtils_8;
-	public static String SourceLookupUtils_9;
-	public static String SourceLookupUtils_10;
-	public static String SourceContainerType_3;
-
-	public static String WorkspaceSourceContainer_0;
-
-	public static String WorkspaceSourceContainerType_3;
-	public static String WorkspaceSourceContainerType_4;
-
-	public static String ZipEntryStorage_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, SourceLookupMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
deleted file mode 100644
index ef32cda..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractSourceLookupDirector_11=Unable to restore source lookup path - expecting typeId attribute.
-AbstractSourceLookupDirector_12=Unable to restore source lookup path - unknown type source container type specified: {0}
-AbstractSourceLookupDirector_13=Unable to restore source lookup path - expecting memento attribute.
-AbstractSourceLookupDirector_14=Unable to read source lookup path - expecting sourceLookupDirector node.
-AbstractSourceLookupDirector_19=Source lookup error
-CompositeSourceContainer_0=Source lookup error
-
-ExternalArchiveSourceContainer_1=Exception occurred while detecting root directory in archive {0}
-ExternalArchiveSourceContainer_2=Unable to access archive {0}
-
-ExternalArchiveSourceContainerType_10=Invalid or missing <path> attribute in archive memento.
-ExternalArchiveSourceContainerType_11=Missing <archive> node in archive memento.
-ExternalArchiveSourceContainerType_12=Invalid archive memento
-
-DefaultSourceContainer_0=Default
-DefaultSourceContainerType_6=Unable to restore default source lookup path - expecting default element.
-DefaultSourceContainerType_7=Unable to restore default source lookup path - invalid memento.
-
-DirectorySourceContainerType_10=Unable to restore directory source lookup entry - missing path attribute.
-DirectorySourceContainerType_11=Unable to restore directory source lookup entry - expecting directory element.
-DirectorySourceContainerType_12=Unable to restore directory source lookup entry - invalid memento.
-
-FolderSourceContainerType_10=Unable to restore source lookup folder - missing path attribute.
-FolderSourceContainerType_11=Unable to restore source lookup folder - expecting folder element.
-FolderSourceContainerType_12=Unable to restore source lookup folder - invalid memento.
-
-LocalFileStorage_0=Exception occurred retrieving file contents.
-
-ProjectSourceContainerType_10=Unable to restore project source lookup entry - missing name attribute.
-ProjectSourceContainerType_11=Unable to restore project source lookup entry - expecting project element.
-ProjectSourceContainerType_12=Unable to restore project source lookup entry - invalid memento.
-
-SourceLookupUtils_3=Unable to create new XML document.
-SourceLookupUtils_4=Unable to serialize XML document.
-SourceLookupUtils_5=Unable to serialize XML document.
-SourceLookupUtils_6=Unable to parse XML document.
-SourceLookupUtils_7=Unable to parse XML document.
-SourceLookupUtils_8=Unable to parse XML document.
-SourceLookupUtils_9=Unable to parse XML document.
-SourceLookupUtils_10=Unable to parse XML document.
-SourceContainerType_3=Unable to persist source lookup path.
-
-WorkspaceSourceContainer_0=Workspace
-
-WorkspaceSourceContainerType_3=Unable to restore workspace source lookup entry - expecting workspace element.
-WorkspaceSourceContainerType_4=Unable to restore workspace source lookup entry - invalid memento.
-
-ZipEntryStorage_0=Unable to read ZipEntry contents
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
deleted file mode 100644
index 480b707..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipFile;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-
-/**
- * Utility and supporting methods for source location. Most of these
- * utilities should be migrated to the DebugPlugin and LanuchManager
- * when this facility becomes public API.
- * <p>
- * This class is experimental and temporary.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector
- * @since 3.0
- */
-public class SourceLookupUtils {
-		
-	/**
-	 * Cache of shared zip files. Zip files are closed
-	 * when this class's plug-in is shutdown, when a project
-	 * is about to be closed or deleted, when a launch is
-	 * removed, and when a debug target or process terminates. 
-	 */
-	private static HashMap fgZipFileCache = new HashMap(5);
-	private static ArchiveCleaner fgCleaner = null;
-	
-	/**
-	 * Returns a zip file with the given name
-	 * 
-	 * @param name zip file name
-	 * @return The zip file with the given name
-	 * @exception IOException if unable to create the specified zip
-	 * 	file
-	 */
-	public static ZipFile getZipFile(String name) throws IOException {
-		synchronized (fgZipFileCache) {
-			if (fgCleaner == null) {
-				fgCleaner = new ArchiveCleaner();
-				DebugPlugin.getDefault().addDebugEventListener(fgCleaner);
-				DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fgCleaner);
-				ResourcesPlugin.getWorkspace().addResourceChangeListener(fgCleaner, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE);
-			}
-			ZipFile zip = (ZipFile)fgZipFileCache.get(name);
-			if (zip == null) {
-				zip = new ZipFile(name);
-				fgZipFileCache.put(name, zip);
-			}
-			return zip;
-		}
-	}
-	
-	/**
-	 * Closes all zip files that have been opened,
-	 * and removes them from the zip file cache.
-	 * This method is only to be called by the debug
-	 * plug-in.
-	 */
-	public static void closeArchives() {
-		synchronized (fgZipFileCache) {
-			Iterator iter = fgZipFileCache.values().iterator();
-			while (iter.hasNext()) {
-				ZipFile file = (ZipFile)iter.next();
-				synchronized (file) {
-					try {
-						file.close();
-					} catch (IOException e) {
-						DebugPlugin.log(e);
-					}
-				}
-			}
-			fgZipFileCache.clear();
-		}
-	}	
-	
-	/**
-	 * Called when the debug plug-in shuts down.
-	 */
-	public static void shutdown() {
-		closeArchives();
-		if (fgCleaner != null) {
-			DebugPlugin.getDefault().removeDebugEventListener(fgCleaner);
-			DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fgCleaner);
-			ResourcesPlugin.getWorkspace().removeResourceChangeListener(fgCleaner);			
-		}
-	}
-	
-	/**
-	 * Clears the cache of open zip files when a debug target or process
-	 * terminates, when a launch is removed, or when a project is about
-	 * to be deleted or closed.
-	 */
-	static class ArchiveCleaner implements IDebugEventSetListener, ILaunchesListener, IResourceChangeListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-		 */
-		public void handleDebugEvents(DebugEvent[] events) {
-			for (int i = 0; i < events.length; i++) {
-				DebugEvent event = events[i];
-				if (event.getKind() == DebugEvent.TERMINATE) {
-					Object source = event.getSource();
-					if (source instanceof IDebugTarget || source instanceof IProcess) {
-						SourceLookupUtils.closeArchives();
-					}
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesRemoved(ILaunch[] launches) {
-			SourceLookupUtils.closeArchives();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesAdded(ILaunch[] launches) {			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesChanged(ILaunch[] launches) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			SourceLookupUtils.closeArchives();
-		}
-		
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
deleted file mode 100644
index 977ca8e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-
-/**
- * Proxy to contributed source path computer extension.
- */
-public class SourcePathComputer implements ISourcePathComputer {
-	
-	// lazily instantiated delegate
-	private ISourcePathComputerDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source path computer on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourcePathComputer(IConfigurationElement element) {
-		fElement = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourcePathComputerDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourcePathComputerDelegate) fElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) {
-		try {
-			return getDelegate().computeSourceContainers(configuration, monitor);
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-		}
-		return new ISourceContainer[0];
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
deleted file mode 100644
index 6d3f673..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Archive source container type for archives in the workspace.
- * 
- * @since 3.0
- */
-public class ArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null); //$NON-NLS-1$
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(string));
-				return new ArchiveSourceContainer(file, auto);
-			} 
-			abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ArchiveSourceContainer archive = (ArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getFile().getFullPath().toString()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
deleted file mode 100644
index 1534d38..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 80857
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-
-/**
- * A container in the workspace. Source elements are searched
- * for within this container and optionally nested containers.
- * <p>
- * Names specified in <code>findSourceElements</code> method can
- * be simple or qualified. When a name is qualified, a file will
- * be searched for relative to this container, and optionally
- * nested containers.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class ContainerSourceContainer extends CompositeSourceContainer {
-
-	private IContainer fContainer = null;
-	private boolean fSubfolders = false;
-	
-	private IPath fRootPath = null;
-	private String[] fRootSegments = null;
-	private File fRootFile = null;
-	private IWorkspaceRoot fRoot = null;
-
-	/**
-	 * Constructs a source container on the given workspace container. 
-	 * 
-	 * @param container the container to search for source in
-	 * @param subfolders whether nested folders should be searched
-	 *  for source elements
-	 */
-	public ContainerSourceContainer(IContainer container, boolean subfolders) {
-		fContainer = container;
-		fSubfolders = subfolders;
-		fRootPath = fContainer.getLocation();
-		if (fRootPath != null) {
-			fRootSegments = fRootPath.segments();
-			fRootFile = fRootPath.toFile();
-			fRoot = ResourcesPlugin.getWorkspace().getRoot();
-		}
-	}
-	
-	/**
-	 * Returns the workspace container this source container is
-	 * rooted at.
-	 *  
-	 * @return the workspace container this source container is
-	 * rooted at
-	 */
-	public IContainer getContainer() {
-		return fContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		if (fRootPath == null) {
-			return EMPTY;
-		}
-		ArrayList sources = new ArrayList();
-
-		// An IllegalArgumentException is thrown from the "getFile" method 
-		// if the path created by appending the file name to the container 
-		// path doesn't conform with Eclipse resource restrictions.
-		// To prevent the interruption of the search procedure we check 
-		// if the path is valid before passing it to "getFile".		
-		if ( validateFile(name) ) {
-			IFile file = fContainer.getFile(new Path(name));
-			if (file.exists()) {
-				sources.add(file);
-			} else {
-				File osFile = new File(fRootFile, name);
-				if (osFile.exists()) {
-					try {
-						// See bug 82627 and bug 95679 - we have to append the container path in the case
-						// that Eclipse thinks it is, with the file system case of the file in order to
-						// be successful when finding the IFile for a location.
-						// See bug 98090 - we need to handle relative path names
-						Path canonicalPath = new Path(osFile.getCanonicalPath());
-						String[] canonicalSegments = canonicalPath.segments();
-						IPath workspacePath = new Path(""); //$NON-NLS-1$
-						workspacePath = workspacePath.setDevice(canonicalPath.getDevice());
-						for (int i = 0; i < canonicalSegments.length; i++) {
-							String segment = canonicalSegments[i];
-							if (i < fRootSegments.length) {
-								if (fRootSegments[i].equalsIgnoreCase(segment)) {
-									workspacePath = workspacePath.append(fRootSegments[i]);
-								} else {
-									workspacePath = workspacePath.append(segment);
-								}
-							} else {
-								workspacePath = workspacePath.append(segment);
-							}
-						}
-						IFile[] files = fRoot.findFilesForLocation(workspacePath);
-						if (isFindDuplicates() && files.length > 1) {
-							for (int i = 0; i < files.length; i++) {
-								sources.add(files[i]);
-							}
-						} else if (files.length > 0) {
-							sources.add(files[0]);
-						}					
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-
-		//check subfolders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {		
-		return getContainer().getName(); 
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj != null && obj instanceof ContainerSourceContainer) {
-			ContainerSourceContainer loc = (ContainerSourceContainer) obj;
-			return loc.getContainer().equals(getContainer());
-		}	
-		return false;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getContainer().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {	
-		return fSubfolders;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if(fSubfolders) {
-			IResource[] resources = getContainer().members();
-			List list = new ArrayList(resources.length);
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if (resource.getType() == IResource.FOLDER) {
-					list.add(new FolderSourceContainer((IFolder)resource, fSubfolders));
-				}
-			}
-			ISourceContainer[] containers = (ISourceContainer[]) list.toArray(new ISourceContainer[list.size()]);
-			for (int i = 0; i < containers.length; i++) {
-				ISourceContainer container = containers[i];
-				container.init(getDirector());
-			}			
-			return containers;
-		}
-		return new ISourceContainer[0];
-	}
-
-	/**
-	 * Validates the given string as a path for a file in this container. 
-	 */
-	private boolean validateFile(String name) {
-		IContainer container = getContainer();
-		IPath path = container.getFullPath().append(name);
-		return ResourcesPlugin.getWorkspace().validatePath(path.toOSString(), IResource.FILE).isOK();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
deleted file mode 100644
index 9cfa781..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A default source lookup path. The default path is computed by a
- * source path computer.
- * 
- * @since 3.0
- */
-public class DefaultSourceContainerType extends AbstractSourceContainerTypeDelegate {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		Document document = newDocument();
-		Element element = document.createElement("default"); //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento)throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("default".equals(element.getNodeName())) { //$NON-NLS-1$
-				return new DefaultSourceContainer();
-			}
-			abort(SourceLookupMessages.DefaultSourceContainerType_6, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.DefaultSourceContainerType_7, null); //$NON-NLS-1$
-		return null;		
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
deleted file mode 100644
index 7734295..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the local file system.
- * 
- * @since 3.0
- */
-public class DirectorySourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("directory".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.DirectorySourceContainerType_10, null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				return new DirectorySourceContainer(new Path(string), nested);
-			}
-			abort(SourceLookupMessages.DirectorySourceContainerType_11, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.DirectorySourceContainerType_12, null); //$NON-NLS-1$
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		DirectorySourceContainer folder = (DirectorySourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("directory"); //$NON-NLS-1$
-		element.setAttribute("path", folder.getDirectory().getAbsolutePath()); //$NON-NLS-1$
-		String nest = "false"; //$NON-NLS-1$
-		if (folder.isComposite()) {
-			nest = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("nest", nest);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
deleted file mode 100644
index 2734b6b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * External archive source container type.
- * 
- * @since 3.0
- */
-public class ExternalArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null); //$NON-NLS-1$
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				return new ExternalArchiveSourceContainer(string, auto);
-			} 
-			abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ExternalArchiveSourceContainer archive = (ExternalArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getName()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
deleted file mode 100644
index ea83044..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the workspace.
- * 
- * @since 3.0
- */
-public class FolderSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		FolderSourceContainer folderSourceContainer = (FolderSourceContainer)container;
-		Document document = newDocument();
-		Element element = document.createElement("folder"); //$NON-NLS-1$
-		element.setAttribute("path", folderSourceContainer.getContainer().getFullPath().toString()); //$NON-NLS-1$
-		String nest = "false"; //$NON-NLS-1$
-		if (folderSourceContainer.isComposite()) {
-			nest = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("nest", nest);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("folder".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.FolderSourceContainerType_10, null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IFolder folder = workspace.getRoot().getFolder(new Path(string));
-				return new FolderSourceContainer(folder, nested);
-			} 
-			abort(SourceLookupMessages.FolderSourceContainerType_11, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.FolderSourceContainerType_12, null); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
deleted file mode 100644
index ef2ac21..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring a project source container.
- * 
- * @since 3.0
- */
-public class ProjectSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ProjectSourceContainer project = (ProjectSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("project"); //$NON-NLS-1$
-		element.setAttribute("name", project.getContainer().getName()); //$NON-NLS-1$
-		String referenced = "false"; //$NON-NLS-1$
-		if (project.isSearchReferencedProjects()) {
-			referenced = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("referencedProjects", referenced);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("project".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("name"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ProjectSourceContainerType_10, null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("referencedProjects"); //$NON-NLS-1$
-				boolean ref = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IProject project = workspace.getRoot().getProject(string);
-				return new ProjectSourceContainer(project, ref);
-			} 
-			abort(SourceLookupMessages.ProjectSourceContainerType_11, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.ProjectSourceContainerType_12, null); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
deleted file mode 100644
index cc7a8d7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring workspace source containers.
- * 
- * @since 3.0
- */
-public class WorkspaceSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("workspace".equals(element.getNodeName())) { //$NON-NLS-1$
-				return new WorkspaceSourceContainer();
-			} 
-			abort(SourceLookupMessages.WorkspaceSourceContainerType_3, null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.WorkspaceSourceContainerType_4, null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		Document document = newDocument();
-		Element element = document.createElement("workspace"); //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/doc/.cvsignore b/org.eclipse.debug.core/doc/.cvsignore
deleted file mode 100644
index af3f463..0000000
--- a/org.eclipse.debug.core/doc/.cvsignore
+++ /dev/null
@@ -1,15 +0,0 @@
-book.css
-org_eclipse_debug_core_breakpoints.html
-org_eclipse_debug_core_launchConfigurationComparators.html
-org_eclipse_debug_core_launchConfigurationTypes.html
-org_eclipse_debug_core_launchDelegates.html
-org_eclipse_debug_core_launchers.html
-org_eclipse_debug_core_launchModes.html
-org_eclipse_debug_core_logicalStructureTypes.html
-org_eclipse_debug_core_processFactories.html
-org_eclipse_debug_core_sourceContainerTypes.html
-org_eclipse_debug_core_sourceLocators.html
-org_eclipse_debug_core_sourcePathComputers.html
-org_eclipse_debug_core_statusHandlers.html
-org_eclipse_debug_core_watchExpressionDelegates.html
-schema.css
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
deleted file mode 100644
index 98981aa..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Container Types</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourceContainerTypes<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>This extension point allows for an extensible set of source container types to be contributed by the debug platform
-         source lookup facilities.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourceContainerType">sourceContainerType</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourceContainerType">sourceContainerType</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourceContainerType</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this type</li>
-<li><b>name</b> - The name of this source container type use for presentation purposes.</li>
-<li><b>class</b> - A class that implements ISourceContainerType</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourceContainerType</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
deleted file mode 100644
index 9305403..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Path Computers</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourcePathComputers<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>Defines an extension point to register a computer that can describe a default source lookup path for
-         a launch configuration. Source path computers are associated with launch configuration types via the
-         launchConfigurationTypes extension point. As well, a source path computer can be associated with a
-         specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourcePathComputer">sourcePathComputer</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourcePathComputer">sourcePathComputer</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourcePathComputer</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<p class=ConfigMarkup id=elementDesc>
-Defines an extension point to register a computer that can describe a default source lookup path
-            for a launch configuration.</p>
-<br>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this computer.</li>
-<li><b>class</b> - A class that implements ISourcePathComputer.</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourcePathComputer</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/hglegal2003.htm b/org.eclipse.debug.core/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.debug.core/hglegal2003.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 (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.debug.core/ngibmcpy2003.gif b/org.eclipse.debug.core/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.debug.core/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/plugin.properties b/org.eclipse.debug.core/plugin.properties
deleted file mode 100644
index 9c62663..0000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Debug Core
-providerName=Eclipse.org
-launcherExtensionPointName=Launcher
-breakpointExtensionPointName=Breakpoint
-launchConfigurationTypeNameExtensionPointName=Launch Configuration Type
-launchConfigurationComparatorsExtensionPointName=Launch Configuration Comparators
-statusHandlerExtensionPointName=Status Handler
-sourceLocatorsExtensionPointName=Source Locator
-launchModesExtensionPointName=Launch Modes
-launchDelegatesExtensionPointName=Launch Delegates
-valueVariablesExtensionPointName=String Substitution Value Variables
-dynamicVariablesExtensionPointName=String Substitution Dynamic Variables
-refreshLaunchVariablesName=Refresh Launch Variables
-watchExpressionDelegatesName= Watch Expression Delegates
-processFactoriesExtensionPointName=Process Factories
-logicalStructureTypesExtensionPointName=Logical Structure Types
-logicalStructureProvidersExtensionPointName=Logical Structure Providers
-sourceContainerTypesName = Source Container Types
-sourcePathComputersName = Source Path Computers
-
-run=&Run
-debug=&Debug
-profile=&Profile
-
-env_var.description=Returns the value of an environment variable. An environment variable name must be specified as an argument.
-system_var.description=Returns the value of an Eclipse system variable. A variable name must be specified as an argument - one of ARCH, ECLIPSE_HOME, NL, OS, or WS.
-
-containerName.archive = Archive
-containerDescription.archive = A jar or zip in the workspace containing source files
-containerName.externalArchive = External Archive
-containerDescription.externalArchive = A jar or zip in the local file system containing source files
-containerName.project = Project
-containerDescription.project = A project in the workspace
-containerName.folder = Workspace Folder
-containerDescription.folder = A folder in the workspace
-containerName.directory = File System Directory
-containerDescription.directory = A directory in the local file system
-containerName.workspace = Workspace
-containerDescription.workspace = All projects in the workspace
-containerName.default = Default
-containerDescription.default = Default source lookup path
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index c5b98f1..0000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Extension points -->
-   <extension-point id="breakpoints" name="%breakpointExtensionPointName" schema="schema/breakpoints.exsd"/>
-   <extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName" schema="schema/launchConfigurationComparators.exsd"/>
-   <extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName" schema="schema/launchConfigurationTypes.exsd"/>
-   <extension-point id="launchModes" name="%launchModesExtensionPointName" schema="schema/launchModes.exsd"/>
-   <extension-point id="launchDelegates" name="%launchDelegatesExtensionPointName" schema="schema/launchDelegates.exsd"/>
-   <extension-point id="launchers" name="%launcherExtensionPointName" schema="schema/launchers.exsd"/>
-   <extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName" schema="schema/sourceLocators.exsd"/>
-   <extension-point id="statusHandlers" name="%statusHandlerExtensionPointName" schema="schema/statusHandlers.exsd"/>
-   <extension-point id="watchExpressionDelegates" name="%watchExpressionDelegatesName" schema="schema/watchExpressionDelegates.exsd"/>
-   <extension-point id="processFactories" name="%processFactoriesExtensionPointName" schema="schema/processFactories.exsd"/>
-   <extension-point id="logicalStructureTypes" name="%logicalStructureTypesExtensionPointName" schema="schema/logicalStructureTypes.exsd"/>
-   <extension-point id="sourceContainerTypes" name="%sourceContainerTypesName" schema="schema/sourceContainerTypes.exsd"/>
-   <extension-point id="sourcePathComputers" name="%sourcePathComputersName" schema="schema/sourcePathComputers.exsd"/>
-   <extension-point id="logicalStructureProviders" name="%logicalStructureProvidersExtensionPointName" schema="schema/logicalStructureProviders.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         id="breakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.marker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="org.eclipse.debug.core.modelIdentifier">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.enabled">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.registered">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.persisted">
-      </attribute>
-   </extension>
-   <extension
-         id="lineBreakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.debug.core.breakpointMarker">
-      </super>
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="launch">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchModes">
-      <launchMode
-            label="%run"
-            mode="run">
-      </launchMode>
-      <launchMode
-            label="%debug"
-            mode="debug">
-      </launchMode>
-      <launchMode
-            label="%profile"
-            mode="profile">
-      </launchMode>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="env_var"
-            resolver="org.eclipse.debug.internal.core.EnvironmentVariableResolver"
-            description="%env_var.description">
-      </variable>
-      <variable
-            name="system"
-            resolver="org.eclipse.debug.internal.core.SystemVariableResolver"
-            description="%system_var.description">
-      </variable>      
-   </extension>
-   
-<!-- ====================== -->
-<!--  source containers     -->                        					 
-<!-- ====================== -->
-   <extension
-         point="org.eclipse.debug.core.sourceContainerTypes">
-      <sourceContainerType
-            name="%containerName.project"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType"
-            id="org.eclipse.debug.core.containerType.project"
-            description="%containerDescription.project">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.folder"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.FolderSourceContainerType"
-            id="org.eclipse.debug.core.containerType.folder"
-            description="%containerDescription.folder">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.directory"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.DirectorySourceContainerType"
-            id="org.eclipse.debug.core.containerType.directory"
-            description="%containerDescription.directory">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.workspace"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.WorkspaceSourceContainerType"
-            id="org.eclipse.debug.core.containerType.workspace"
-            description="%containerDescription.workspace">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.default"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.DefaultSourceContainerType"
-            id="org.eclipse.debug.core.containerType.default"
-            description="%containerDescription.default">
-      </sourceContainerType>    
-      <sourceContainerType
-            name="%containerName.archive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.archive"
-            description="%containerDescription.archive">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.externalArchive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ExternalArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.externalArchive"
-            description="%containerDescription.externalArchive">
-      </sourceContainerType>      
-   </extension>
-   
-<!-- ===================================== -->
-<!--  launch configuration comparators     -->                        					 
-<!-- ===================================== -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.debug.core.source_locator_memento"
-            class="org.eclipse.debug.internal.core.sourcelookup.SourceLocatorMementoComparator"
-            id="org.eclipse.debug.core.sourceLocatorMementoComparator">
-      </launchConfigurationComparator>
-   </extension>   
-
-</plugin>
diff --git a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
deleted file mode 100644
index 90f26fd..0000000
--- a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,1102 +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] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes for the 2.0 release</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 20, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20365">20365</a>: Bidi - NPE when closing Eclipse<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 19, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20492">20492</a>: Extra separator in run/debug history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19878">19878</a>: Collapse/expand symbol (+/-) dissappears in inspect window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19998">19998</a>: NullPointerException when launching rsource that has no extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20066">20066</a>: TVT2: Hardcoded "None" in debug preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20594">20594</a>: Preference listeners should use equals, not ==<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19928">19928</a>: Run/Debug menu ordering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17462">17462</a>: IllegalArgumentException when printing long stack to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19375">19375</a>: Duplicate launch config naming problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is Runtime<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19740">19740</a>: Content assist is now retargetable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19613">19613</a>: LaunchConfig marked PRIVATE shows in Console View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19338">19338</a>: Missing copyrights<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 7, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - a spelling mistake was fixed in the name of a method in IPersistableSourceLocator</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18789">18789</a>: Source editor not given focus on suspend<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18772">18772</a>: Launch Configurations: Table is cut off on motif<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19379">19379</a>: Debug remembers selected state of toolbar entry even if it is no longer enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19443">19443</a>: IPersistableSourceLocator has misspelled method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19489">19489</a>: References to IDebugViewAdapter (DOC)<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 1, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18209">18209</a>: Unable to run a program on first attempt<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 31, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15671">15671</a>: Strange behavior of the console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17017">17017</a>: Not always prompted to find source location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18334">18334</a>: Launch view holding onto Objects longer than necessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18153">18153</a>: launch last and run/debug buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18385">18385</a>: NPE during launching after removing the launch info<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16946">16946</a>: several Eclipse buttons are too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18474">18474</a>: Empty group in history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16764">16764</a>: Debug Perspective leaks actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10383">10383</a>: Help pass for 2.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16152">16152</a>: NLS pass<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16379">16379</a>: Launch configs tree is missing label and is not wide enough<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 30, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17087">17087</a>: Launch view, source lookup and closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17029">17029</a>: DCR: Please let me specify a launch history size of 20<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16378">16378</a>: Missing icons in launch config creation tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18156">18156</a>: Debug/Run As cascade menu should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16462">16462</a>: Not all tabs visible in Run-time Workbench config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18154">18154</a>: Launch shortcuts menu labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16685">16685</a>: Internal error changing launch history preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16963">16963</a>: Mneumonic missing on table label for Select Launch Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16975">16975</a>: Up/down button on launch history page not working correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17512">17512</a>: Missing mneumonics in Console Preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18222">18222</a>: All XML written using platform line delimiters/UTF8<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16955">16955</a>: NPE opening java perspective.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17633">17633</a>: ActionDelegateHelper should nullify fTextEditor when it does not need it<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17380">17380</a>: Launch history maintains duplicate entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14406">14406</a>: Debug menu items becoming disabled inappropriately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17794">17794</a>: Disabled actions in the context menu of the Launch config dialog viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17358">17358</a>: Revert button not enabled after changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17116">17116</a>: Launch related walkbacks in .log<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18099">18099</a>: Change provider name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17490">17490</a>: F1 help for launch config tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18121">18121</a>: Static menus items should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17649">17649</a>: ObjectCollectedException written to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16838">16838</a>: Over zealous error logging when config has been deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17105">17105</a>: Attempt to save shared launch configs in closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18122">18122</a>: Scrapbook configs show up in list for Launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16970">16970</a>: ClassCastException out of Launch history preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16492">16492</a>: CommonTab Switch to String<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16956">16956</a>: NPE opening java perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17100">17100</a>: Launch Config name with underscore is truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16638">16638</a>: Missing menmonic on Debug Action Groups page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17072">17072</a>: "Show Supported Breakpoints" has just one calorie, not meaningful enough<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17946">17946</a>: Generalize launch shortcuts/convenience actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 28, 2002
-<h3>
-What's new in this drop</h3>
-<li>New/replaced extension point. The extension point "org.eclipse.debug.ui.launchConfigurationShortcuts" has
- been replaced with "org.eclipse.debug.ui.launchShortcuts". Please see extension point documentation
- for details.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16757">16757</a>: Launch.removeDebugTarget does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17534">17534</a>: Two huge bugs in Launch class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17676">17676</a>: Run menu history menus not updated after organize favorites<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17069">17069</a>: NPE deleting project with shared config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16655">16655</a>: Streams are not closed when a java program is finished<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 21, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16185">16185</a>: Show/hide package names button in doesn't work in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15964">15964</a>: Updates to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16476">16476</a>: TextViewerGotoLineAction$NumberValidator<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 19, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - deprecated method was removed - ILaunchConfigurationTab.isValid()</li>
-<li>New extension point - org.eclipse.debug.core.launchConfigurationComparator. This 
- extension point is for launch configuration attributes that require a custom
- equality implementation. See documentation for extension point.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15704">15704</a>: Default "Maximum launch history size" should be at least 10<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15560">15560</a>: Cancel button on edit Configurations is much smaller than others<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15952">15952</a>: Remove deprecated method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15953">15953</a>: No longer expanding debug target to show threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15988">15988</a>: ArrayIndexOutOfBoundsException in config reselection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16107">16107</a>: NPE opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16063">16063</a>: Preference pages now re-size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16060">16060</a>: Re-sizable launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15850">15850</a>: LaunchView changes required from platform ui changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16143">16143</a>: Multiple *.launch filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12032">12032</a>: Debug Constants should include value in javadoc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6485">6485</a>: Extension & Package documentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16217">16217</a>: launch config "revert" causes flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16325">16325</a>: Content assist action icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16356">16356</a>: NPE out of ConsoleDocumentManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16148">16148</a>: IProcess should support an exit value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14927">14927</a>: Cancel button in progress monitor of launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15775">15775</a>: Deleting launch config should select the next config<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16113">16113</a>: Execution arguments gets lost if starting a class file of a jar library<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 14, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13766">13766</a>: Error recovery on failed launch - need to bring up dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11540">11540</a>: Misc Debugger source lookup dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15506">15506</a>: Switching launch configs should show busy cursor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15618">15618</a>: DebugDropDownAction missing resource string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15375">15375</a>: ClassCastException trying to resume<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15720">15720</a>: Debug perspective should define place holders for standard views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12316">12316</a>: Message (stack trace) silently written to console when trying to run small java example<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4130">4130</a>: Eclipse Debugger: Setting Breakpoints via keyboard not possilbe (1GITILH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15449">15449</a>: 'show detail pane' toolbar button behaves differently than other buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12904">12904</a>: Creating shard Launch Configuration fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15748">15748</a>: Duplicate action in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16848">15848</a>: Change Debug Menu id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15533">15533</a>: DebugAction contains redundant cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14922">14922</a>: Config created by double clicking on launch type; delete not enabled<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 08, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9034">9034</a>: Variables view should scroll to display new variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12001">12001</a>: Plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14412">14412</a>: Launch configuration XML should be written to file immediately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15246">15246</a>: Allow private launch configs to perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15325">15325</a>: Remove 'Configuration' from debug action labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1636">1636</a>: Copy/paste across console docs (1GF61GB)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13457">13457</a>: Should expose launch history length as user preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15024">15024</a>: Launch configuration dialog doesn't display "favorite" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15180">15180</a>: DND.ERROR_CANNOT_SET_CLIPBOARD must be handled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14657">14657</a>: LaunchDropDownAction and coolbar support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14897">14897</a>: many missing '...' on buttons in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15362">15362</a>: Standard out not always hooked to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15446">15446</a>: first click in the debug/launch history preference page results in exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11894">11894</a>: Mneumonic collision in the debug menu<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 30, 2002
-<h3>
-What's new in this drop</h3>
-<li>Changes in the launch configuration dialog:
-	<ul>
-	<li>To free up screen real estate for editing launch configurations, the tree of launch
-		configurations has been made more narrow by removing the "copy" button from the
-		dialog. The "new" button copies a configuration when a configuration is selected, and
-		creates a new configuration (based on the workbench selection) when a configuration
-		type is selected.</li>
-	<li>The "Cancel" button has been replaced with a "Close" button (closing the dialog
-		does not cancel changes). You will be prompted to save unsaved changes.</li>
-	<li>A "Revert" button has been added to the edit area to revert changes on the 
-		currently selected launch configuration (under edit).</li>
-	</ul>
-</li>
-<li>Changes to launch behavior
-	<ul>
-	<li>Pressing the run or debug toolbar buttons launches the configuration that was last launched
-		(in the workspace), in the appropriate mode (run or debug).</li>
-	<li>To create a new launch configuration, use the cascading menu items on the run or debug
-		menu. For example "New Configuration -> Local Java Application" - this will create a new 
-		configuration based on the selection in the workbench (or active editor).</li>
-	<li>"Single-click launching" preference has been removed. It was determined that a preference
-		which changes the behavior of a toolbar button is disorienting to the user.</li>
-	</ul>
-</li>
-<li>Changes to ILaunchManager
-	<ul>
-	<li>API for setting default launch configuration types has been removed.</li>
-	</ul>
-</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13537">13537</a>: DebugActionGroups: Clearer wording in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13909">13909</a>: Inconsistent margins on preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11889">11889</a>: Buttons too small in the Console and Launch Configuration Preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13513">13513</a>: Running a debug view in a Java perspective has several problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13536">13536</a>: DebugActionGroups: Collision on ID wipes out both action groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13317">13317</a>: New Configuration menu empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14560">14560</a>: Deleting breakpoint selects another breakpoint in the wrong direction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14143">14143</a>: Breakpoints View appears with "Go to file" button enabled regardless of breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9834">9834</a>: Views do not remember package visibility filter settings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11904">11904</a>: Debug menu mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14797">14797</a>: NumberFormatException if cancel Go to line in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13440">13440</a>: menu reorganization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14550">14550</a>: Need to be able to make launch configuration type invisible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6388">6388</a>: Variables view's static and field buttons are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14495">14495</a>: clipboards must be disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13665">13665</a>: Debug preference page looks cluttered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14485">14485</a>: Cannot delete a launch config using the Delete key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14486">14486</a>: Default perspective for Run should not be Debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11697">11697</a>: Debug Preference Page needs group box<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14540">14540</a>: Relaunch action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14556">14556</a>: Enable breakpoint action using old selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14520">14520</a>: Debug plugins should provide consistent unique identifier access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12577">12577</a>: Launch configurations wizard - usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13555">13555</a>: Edit configuration dialog UI confusing<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12292">12292</a>: Unable to suspend a running thread to see stack frames<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 23, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13836">13836</a>: Missing and duplicated extensions in debug plugin.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12125">12125</a>: NLS debug projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14111">14111</a>: Console terminate button not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13041">13041</a>: Remove all terminated action incorrectly enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13372">13372</a>: Strange UI feedback when breakpoint hit during evaluation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13430">13430</a>: Open on Type in console can work better; less beep<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12184">12184</a>: IncompatibleThreadStateException on launchAdded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14190">14190</a>: Stack dumps noticed in log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14125">14125</a>: Debug view "Resume" always jumps to source - menu item does not<br>
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12132">12132</a>: Can't launch debugger if proxy set.<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 18, 2002
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Support for old launchers has been removed (ILauncher, ILauncherDelegate, ILaunchWizard).
-	Launch configruations now rule the launching world.</li>
-<li>The extension point "org.eclipse.debug.ui.launchTabs" has been removed and replaced with
- a new extension point "org.eclipse.debug.ui.launchTabGroups".</li>
-<li>The constants IDebugUIConstants.PREF_AUTO_SHOW_DEBUG_VIEW & IDebugUIConstants.PREF_AUTO_SHOW_PROCESS_VIEW
- have been removed.  Users can now set a default perspective for each of Run & Debug which may be
- overridden in a launch configuration.</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13385">13385</a>: Showing detail should be disabled when multi-select in var view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12788">12788</a>: Cut, copy, paste actions don't work in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8590">8590</a>: Allow position of "step debug" in step tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12982">12982</a>: Need ability to set initial state of debug view based on AbstractDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13554">13554</a>: Incorrect dependencies: result is NPE in DebugActionGroupsManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13714">13714</a>: Pressing Apply makes tabs disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13307">13307</a>: NPE in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12382">12382</a>: Action set part association for the launch view?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13285">13285</a>: Debug/Run With use old launchers when in config mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13425">13425</a>: Double click to expand/contract tree in variable and expression views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13864">13864</a>: npe on lanuning (latest after 0412)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12281">12281</a>: Launch configuration tab widgets are private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13501">13501</a>: hostname cut off when show qualified names is off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12257">12257</a>: remove single event handling support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12722">12722</a>: Actions for configuration dialogs should appear on Debug menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13324">13324</a>: Change of selection lost in Launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11942">11942</a>: Single click launching preference text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13088">13088</a>: NPE in the log after exiting workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13565">13565</a>: Properties page for process should not contain defaults/apply buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13853">13853</a>: native code error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13613">13613</a>: Delegating presentation and #setAttribute()...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12962">12962</a>: Same target shows up twice in drop-downs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13375">13375</a>: Show Detail Pane in popup menu missing mneumonic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12785">12785</a>: Select all in the details pane selects all variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13383">13383</a>: Copy variables action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13993">13993</a>: Debug and Run buttons have been accidentally swapped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12953">12953</a>: Action "type" constants should be moved from AbstractDebugView to IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14124">14124</a>: Launch configuration classes not in launch configuration package<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12677">12677</a>: Single click launching and F11, Ctrl-F11<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13214">13214</a>: ArrayOutOfBoundException in launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13480">13480</a>: NPE creating Java Project when running Runtime Workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13345">13345</a>: exception in log - after opening/closing projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13085">13085</a>: DebugActionGroups cannot handle two actions with same ID in views<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 09, 2002
-<h3>
-What's new in this drop</h3>
-<li>A new extension point exists in the debug ui to control the types of launch configurations that can
- be created from the cascading "New run/debug configuration" menu (off the run/debug dropdown menus).
- A type of configuration can be contributed to mulitple perspectives.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1696">1696</a>: DCR: Perspective specific launcher filtering (1GIYJXH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11733">11733</a>: duplicate shared config after close & restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11899">11899</a>: Launch config name collission<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12658">12658</a>: Single click launching doesn't work if the active editor isn't selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12488">12488</a>: Launch config dialog should allow double-click on config type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11710">11710</a>: Deleting a launch configuration leaves no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12598">12598</a>: Launch config - tab group API inconvenience<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11190">11190</a>: cannot set working directory if it includes a japanese character<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12160">12160</a>: Launch creation/lifecycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8772">8772</a>: Infinitely looping stack trace in target pgm locks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12619">12619</a>: Exception during startup.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10282">10282</a>: Rendering of changed variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12310">12310</a>: Need ability to determine if a breakpoint applies to a target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12981">12981</a>: Launcher - listed name does not match given name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9825">9825</a>: Action icon inconsistencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12891">12891</a>: Several IOExceptions from .log in StreamsProxy.write(StreamsProxy.java:92)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11906">11906</a>: Useless single click launch for classes with no main<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12276">12276</a>: Index out of bounds exception from launch configuration dialog<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 2, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12289">12289</a>: Breakpoint should extend platform object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12548">12548</a>: Debug event filters should use event sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12613">12613</a>: Exception when on target workspace when starting eclipse<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11756">11756</a>: Launch config dialog: button sizes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11923">11923</a>: Console preference page needs reworking<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11880">11880</a>: Launch ConfigurationType property page missing accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11925">11925</a>: Up/down buttons for launch history restricted to single select<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11457">11457</a>: Launch Configuration Dialog issues<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11702">11702</a>: Launch configuration defaults are set after widgets are initialized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11330">11330</a>: JavaEnvironmentTab depends on JavaMainTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11053">11053</a>: Launch view too optimistic on source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11982">11982</a>: Logging exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12339">12339</a>: NPE when i switch to debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7609">7609</a>: Attempting to go to a marker that no longer exists<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11326">11326</a>: Restore instead of rebuild launch config index<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11720">11720</a>: Need replacement for #hasChildren<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 26, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breaking API change: IDebugViewAdapter had been renamed to IDebugView</li>
-<li>Launch configurations are the default launch mechanism.</li>
-<li>Debug events are reported in sets. @see IDebugEventSetListener and IDebugEventListener</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11610">11610</a>: Doc: identifier for launch extension points are incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11401">11401</a>: API on ILaunch.getDebugTarget() <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11303">11303</a>: Deadlock on startup processing breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11919">11919</a>: 2 NPEs using Preferences->Debug->Launch Configuration Types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6212">6212</a>: Debug view toolbar/menu pollution<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11849">11849</a>: Duplicate history items showing up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10448">10448</a>: IExpressionManager#hasExpression, IBreakpointManager#hasBreakpoints,etc.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10817">10817</a>: configs in java packages get copied to output folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11207">11207</a>: IDebugViewAdapter should be named IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11612">11612</a>: Agressive clearing of instruction pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12025">12025</a>: Invalid thread access out of Launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12229">12229</a>: Set default launching style to configuration based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9650">9650</a>: Variable change notification bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12157">12157</a>: Debug event sets<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 18, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11197">11197</a>: Feature request: Delete in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11212">11212</a>: Debug UI plugin.xml references jdt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11308">11308</a>: Launch configurations make workspace non-transportable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11346">11346</a>: Registering a launch multiple times is not handled well<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10586">10586</a>: Use new workbench selection service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11425">11425</a>: ILaunchConfiguration JavaDoc is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11189">11189</a>: Flicker in the Launch Configurations dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11253">11253</a>: Launch config tab flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11370">11370</a>: Launch view update bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11462">11462</a>: Launch config metadata change generates parse exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10637">10637</a>: "currently active project" should be the "current working directory"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10162">10162</a>: Console View to front on error output only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8937">8937</a>: Feature Request: Select all in the breakpoints view<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10775">10775</a>: New, delete copy of Launch configurations remain disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10780">10780</a>: Delete and Copy enabled for Launch configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10778">10778</a>: Launch configuration names should be trimmed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6376">6376</a>: Should be possible to remove entries from the "Run list"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10855">10855</a>: Use new workbench API for show perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10610">10610</a>: Null exception when lauchviewer processing events on remove tree items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8420">8420</a>: Cannot edit ExpressionView detail area until after inspect.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11076">11076</a>: Delete configs reamin in favorite list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9922">9922</a>: Null pointer in launch configuration type property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7605">7605</a>: Feature: Doubleclicking in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11072">11072</a>: History menu update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8294">8294</a>: "Debug History" and "Run History" have empty submenus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11133">11133</a>: NPE in LaunchView.initializeSelection()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11110">11110</a>: NPE in AbstractListenerActionDelegate.pageActivated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10847">10847</a>: API - AbstractLaunchConfiguration tab<br>
-<h3>
-
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch Configuration API has changed. The launch configuration tab lifecycle is now similar
- to that of preference and wizard pages.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9680">9680</a>: Launch config: pressing save returns to first tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9660">9660</a>: Launch Config Flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10524">10524</a>: Provide default label provider API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10506">10506</a>: NPE in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10582">10582</a>: SWT Exception closing a Debug Perspective in JUnit test<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7207">7207</a>: Launch configuration bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10652">10652</a>: Remove action enabled when nothing to be removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10243">10243</a>: ClassCastException when removing a breakpoint<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 26, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7767">7767</a>: Changing from "Debug View"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 14, 2002
-<h3>
-What's new in this drop</h3>
-<li>As part of the transition to configuration-based launching, early adopters may
-continue to access the launch configuration dialog by Shift-clicking the run and debug
-buttons, but configuration-based launches will NOT appear in the history, and
-CANNOT be relaunched.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9166">9166</a>: NPE in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9483">9483</a>: NPE in LaunchConfigurationTypePropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9652">9652</a>: IllegalArgumentException out of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9704">9704</a>: NPE on shutdown in BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 12, 2002
-<h3>
-What's new in this drop</h3>
-<li>Removed deprecated constant IDebugUIConstants.ID_PROCESS_VIEW</li>
-<li>Basic icons and their support has been removed</li>
-<li>Breakpoint property sheet has been replaced with breakpoint properties dialog.
- Choose "Properties..." from the pop-up menu in the breakpoints view.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8230">8230</a>: Console does not show process as <terminated>; better tracking of changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9194">9194</a>: Attempting to modify locked resource tree in BreakpointManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9218">9218</a>: NPE in LaunchConfigurationLabelDecorator.isLaunchConfigFile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9280">9280</a>: Debug event handlers performing runnables after dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9057">9057</a>: API - CHANGE event should be better specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9111">9111</a>: Invalid thread access running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6370">6370</a>: Breakpoint Properties Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9327">9327</a>: JavaDebugOptionsManager startup loading breakpoints during resource changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9178">9178</a>: Remove All Terminated always disabled?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9065">9065</a>: WID opening editor for breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8296">8296</a>: Debug With menu items have interesting numbering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9421">9421</a>: NPE out of the LaunchView on shutdown with running target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7301">7301</a>: no way to switch to custom debug perspective on debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5311">5311</a>: Missing debug information should be conveyed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1683">1683</a>: Extra Action delegates (1GIGUK0)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9299">9299</a>: NPE in LaunchView.showMarkerForCurrentSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch configuration infrastructure and UI is available for early adopters.
-Developers that have contributed launchers should migrate to launch configurations. To
-access launch configurations from the workbench, press the run/debug buttons while holding
-the SHIFT key down.</li>
-<li>The debugger indicates variables that have changed since the last suspend. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>.</i>
-<li>The debug action set has been renamed from Debug/Run to Debug. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>: Rename Debug action set from "Debug/Run" to "Debug"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8945">8945</a>: Non-Persisted breakpoint can be incorrectly deleted at startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7965">7965</a>: Debug view refresh flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>: Feature: notification of changing variables (1G5NRPC)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1721">1721</a>: Small Feature: separate disable/enable breakpoints (1GKKEI5)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8245">8245</a>: Launch preferences page problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1621">1621</a>: Debugger doesn't come to front when breakpoint is hit (1GEUZEX)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9102">9102</a>: Remove & Terminate walkback<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6807">6807</a>: launch configurations not crash proof<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7837">7837</a>: Launch configuration page verifier error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8235">8235</a>: Ctrl-space does not work for code assist in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7763">7763</a>: (usability) selecting in variables view with details pane causes un-maximize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7814">7814</a>: API for char range within a line<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8501">8501</a>: "Disable all" breakpoints action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7864">7864</a>: Need API for selection changes in debug view<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 24, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8059">8059</a>: NPE out of ControlActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8005">8005</a>: Terminate & Remove disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8063">8063</a>: NPE in BreakpointsView when closing workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8318">8318</a>: internal error occured, if open the menu "Debug -> Debug History"<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 22, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breakpoint API has been updated to allow selective persistence of breakpoint
-of the same type</li>
-<li>Breakpoint API now allows for "hidden" breakpoints. @see IBreakpoint.isRegistered()</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7578">7578</a>: .metadata launch files not in correct location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7626">7626</a>: Widget is disposed error relaunching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1710">1710</a>: DCR - Launcher should have control over perspective switching (1GJUT9J)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6480">6480</a>: Launch configurations - store with workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7961">7961</a>: updating source twice per suspend event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7507">7507</a>: debugger keyboard shortcuts do not work in 20020109<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2990">2990</a>: Internal errors when fast clicking in debug stack (1GLDZVH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7974">7974</a>: Stack overflow pression "remove all" from Expression View<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1563">1563</a>: Fully qualified rendering of launch element name (1GD7U0Z)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7418">7418</a>: Need the Process view back<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7627">7627</a>: Tooltips not working in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7755">7755</a>: The Breakpoints pane should highlight the breakpoint where the debugger stops<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5141">5141</a>: Breakpoint manager can use new marker API<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 15, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6088">6088</a>: Move "qualified name" rendering to java debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7420">7420</a>: "Debug UI.xml" references JDT<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7580">7580</a>: NPE out of AbstractDebugEventHandler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7513">7513</a>: Terminate and remove fails to remove when timeouts occur<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7316">7316</a>: Inconsistent casing for Show detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7370">7370</a>: TimeoutException occurs during stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1714">1714</a>: Confusion of launches from different projects in history (1GJYNLK)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 9, 2002
-<h3>
-What's new in this drop</h3>
-<li>The debugger now uses the workbench editor re-use policy.</li>
-<li>There is no longer a Process view. The Debug view shows all debug
-sessions and processes launched. When a workspace is re-started that
-had a Process view open, an error message will appear explaining that
-the Process view could not be created.</li>
-<li>The debug action set has been split into two groups - debug and launch.
-Existing debug and Java perspectives need to be closed and re-opened to obtain
-run and debug buttons in the toolbar. @see bug 1724.</li>
-<li>There is no longer an Inspector view - it has been replaced with an
-Expressions view. When a workspace is re-started that had an Inspector
-view open, an error message will appear explaining the Inspector view
-could not be created.</li>
-<li>A launch can be annotated with client specific data. @see bug 6481.</li>
-<li>A launch can now contain more than one debug target. API has changed
- in ILaunch, ILaunchListener, and ILaunchManager to suppport this.</li>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7120">7120</a>: NPE during shutdown of DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6954">6954</a>: Use new workbench API for openning perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6206">6206</a>: Make AbstractDebugView API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7151">7151</a>: Toggling ShowDetailPaneAction sets focus to the launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7164">7164</a>: NPE during shutdown to do with DebugSelectionManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1724">1724</a>: Feature: split debug action set in to debug & launch (1GKCQVZ)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7167">7167</a>: NPE shutting down in abstract debug view 'save state'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6771">6771</a>: DebugEvent constructors changed to take IDebugElement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1574">1574</a>: Settings in debug views not persisted (1GDTUNW)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6105">6105</a>: Step accelerators should not take focus from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1671">1671</a>: Option to autoclear terminated processes (1GHSO3L)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6357">6357</a>: Combine Process/Debug Views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6200">6200</a>: Extensible set of debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7204">7204</a>: Copy variables action needs icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7031">7031</a>: Inspector is missing a toString area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6213</a>: Breakpoints view improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6481</a>: Feature: Annotate launch with transaction id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1617">1617</a>: type names not always shown in inspector (1GEULC4)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6484">6484</a>: Ability for "super adaptor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6783">6783</a>: Console should not steal focus while writing output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7277">7277</a>: Step detail events for into/over/return<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6214">6214</a>: More that one debug target per lanuch<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6482">6482</a>: Ability to group debug targets in one launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6215">6215</a>: Exception handling in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1688">1688</a>: Object display options (1GIKMIG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1606">1606</a>: Feature: Source Lookup (1GEPJEN)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1553">1553</a>: Handling of no source is confusing (1GC2TVU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7166">7166</a>: Remove terminated launches preference does not applied correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7169">7169</a>: Debug "F" keys not enabled properly on new editor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 18, 2001
-<h3>
-What's new in this drop</h3>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5260">5260</a>: TVT: Properties view for debug process is missing substitution variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7003">7003</a>: Debug With menu launches incorrect program (not finding selection)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1548">1548</a>: Extensible launch modes (1GBEQYO)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1592">1592</a>: DebugPlugin must allow for null elements in updateHistory() (1GEI3C1)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6886">6886</a>: Request: Keep perspective when running application<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1627">1627</a>: Previous editor's unsaved contents are still visible (1GEX5LS)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 11, 2001
-<h3>
-What's new in this drop</h3>
-	<ul>
-	<li>The "relaunch last" action has been remapped to use F9 instead of F10.
-	Please see "<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10" for details.
-	</li></ul>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10 <br>
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 6, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Variables view stays empty with stack frame selected (1GLE8PW) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6577">6577</a>: NPE in DebugContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6598">6598</a>: Problem using old workspace with new build <br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 4, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6216">6216</a>: Help for debug views in 1.0 <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Newly added resources cannot be checked out <br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1715">1715</a>: Consider removing state change actions from BreakpointsView (1GKKT90)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1559">1559</a>: Debugger doesn't pop to front when breakpoint hit (1GD7P7D) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1564">1564</a>: README: printf's in native code only show up in console at the end of execution (1GD80QZ) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1588">1588</a>: README: System.exit(0) from Scrapbook (1GE8JU3) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5485">5485</a>: NPE if missing launcher when using launch history <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1770">1770</a>: Last launch not updated upon deletion (1GLEANH) <br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 27, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Procedural Debug API - new debug element interfaces have been defined to support the notion of registers,
-register groups, memory blocks, and memory block retrieval:
-	<ul>
-	<li>IRegister - a register in a register group</li>
-	<li>IRegisterGroup - register groups are available from each stack frame (that supports registers)</li>
-	<li>IMemoryBlock - a contiguos block of bytes from memory allocated by a running program</li>
-	<li>IMemoryBlockRetrieval - support to retrieve arbitrary blocks of memory from a running program</li>
-	</ul>
-</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1720">1720</A>: Issue: breakpoint manager breaks lazy plug-in load rule (1GK<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6097">6097</A>: The inspector is not refresh<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 20, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>API Change - method addition - @see ILaunch.getLaunchConfiguration(). This does
-not break any clients, as the only implementation of ILaunch is org.eclipse.debug.core.Launch,
-which has been updated.</li>
-<li>API Change - method return value - @see ILaunch.getLauncher(). A launch
-is now allowed to return null for #getLauncher() when it was created by a launch
-configuration rather than a launcher. This does not break any clients, as launch configurations
-are not in use yet. The main client that will have to be updated is the Debug UI.</li>
-<li>New debug preference - "Build (if required) before launch"</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4023">4023</A>: Prompt user for save and build before run  (1GGCBO0)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5818">5818</A>: Debugger Source Lookup page claims project is closed<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5895">5895</A>: NPE out of the Console view on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5896">5896</A>: NPE out of LaunchManagerVisitor on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1623">1623</A>: StackFrame selected but toolbar actions disable (1GEV0L7)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5681">5681</A>: Show debug perspective doesn't reuse my perspective<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5909">5909</A>: Should have terminate on Debug menu<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5582">5582</A>: Keyboard shortcut for run/debug<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5789">5789</A>: Console Empty on Hello World Examples<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5951">5951</A>: Console buffer not flushed?<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5946">5946</A>: NPE  in LaunchManagerVisitor<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5808">5808</A>: Console output being lost<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5925">5925</A>: DebugView does not survive platform crash<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 13, 2001
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5360">5360</A>: ListenerList#removeAll<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5613">5613</A>: Debugger hangs when it hits breakpoints during self hosting<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4269">4269</A>: Simplifying debugger perspective (1GKRAWI)<br>
-
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5588">5588</A>: General Protection Fault double clicking on breakpoint in th<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5795">5795</A>: Reached Breakpoint, but no stacktrace<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 12, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Draft definition and infrastructure for launch configurations.</li>
-<li>API Change: Presentation of variable value details allows for long running
-computation. @see IDebugModelPresentation.computeDetail(IValue, IValueDetailListener). @see IValueDetailListener.
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5686">5686</A>: Launch/Run actions should be available on menubar<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5579">5579</A>: Would like option to switch to Debug perspective on breakpoi<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
deleted file mode 100644
index 3e0da8c..0000000
--- a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,410 +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] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 25, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35459">35459</a>: "Run As ..." menu disabled<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 24, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35410">35410</a>: VariableView#fExpandedVariables is not always cleaned<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34901">34901</a>: Typos(?)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34899">34899</a>: Typos<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34554">34554</a>: console: locking during 6 second clear request on big contents<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 6, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33767">33767</a>: Step with filters label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33993">33993</a>: NPE in launch config getMemento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33996">33996</a>: Making a shared favorite config does not appear in fav's<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 4, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32631">32631</a>: Problem with text input from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32668">32668</a>: Invalid thread access disposing process drop down menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32706">32706</a>: Can re-enable LCD when disabled for run in foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32621">32621</a>: Console Pref page: punctuation and capitalization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33289">33289</a>: Console: ShowProcess tooltip should use book capitilization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29752">29752</a>: Removal of the "launchers" extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31519">31519</a>: action set part associations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33579">33579</a>: NPE in launch view event handler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33613">33613</a>: NPE in console line notifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32722">32722</a>: Attempting two background builds at same time: lose console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33620">33620</a>: NPE attempting to launch from a LCD with no selection area (Run Ant...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33153">33153</a>: Debug As and Run As actions are ignored if there is no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33185">33185</a>: Activate workbench when breakpoint hit should be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32775">32775</a>: BadLocationException on file hyperlink from ant build<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 20, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18665">18665</a>: Launch progress message bar is too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32191">32191</a>: LaunchManager added too late as resource changed listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31431">31431</a>: Show In...from the Console to the Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32247">32247</a>: Missing hashCode in org.eclipse.debug.internal.core.LaunchConfigurationInfo<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32176">32176</a>: Hyperlink on wrapped line draws line badly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32275">32275</a>: Debug console selection shows the wrong information<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30513">30513</a>: Step actions should be disabled when debug view closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31161">31161</a>: Dialogs don't use standard platform spacing for buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31216">31216</a>: Offer Show In...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11991">11991</a>: Renamed config not updated in history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31745">31745</a>: No feedback for navigating links in console using keyboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30586">30586</a>: NPE opening editor in LaunchView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32433">32433</a>: ShowProcessAction reference to its process keeps hyperlinks in memory<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 18, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31565">31565</a>: Selecting part of stack trace in console loses focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29326">29326</a>: Launch configuration with errors can be launched<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29045">29045</a>: StringIndexOutOfBoundsException from Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31394">31394</a>: New console UI does not provide a "Clear History" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31898">31898</a>: Error in the status bar without any text selected in the console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30901">30901</a>: Dialog flicker when launching a program<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31500">31500</a>: Double click for create a new launch configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 11, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31321">31321</a>: disable/enable breakpoints does not scale<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31502">31502</a>: Refactor LaunchHistoryPreferenceTab<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30411">30411</a>: Exceptions deleting Launch Configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28148">28148</a>: Debug and Run toolbar actions missing mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30493">30493</a>: No need for the verify key listener in the VariablesView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22815">22815</a>: Support delete key in viewers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30125">30125</a>: Provide inforpops for launch configuration types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30332">30332</a>: Not enough IDisconnect support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28827">28827</a>: Run Screen Sizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30167">30167</a>: Would like a way to navigate back from debugger to corresponding launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30333">30333</a>: Problem when multiple debug events occur at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30831">30831</a>: Console View: Terminate and Clear are too close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29503">29503</a>: Debug preference page error messaging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 28, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29877">29877</a>: Chkpii errors in debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28295">28295</a>: ConcurrentModificationException during "Run Ant..." build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18306">18306</a>: Use safe runnables for listeners and "untrusted" code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30037">30037</a>: Use platform support for breakpoint persistence<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29843">29843</a>: tooltip of the debug and run buttons displays "Debu&g" and "Ru&n"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30307">30307</a>: Apparent mispelled catalog reference in Expressions pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30222">30222</a>: External tool builder build command path is fully qualified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30324">30324</a>: NPE restoring shared launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29112">29112</a>: Add key binding to "open link" action in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30180">30180</a>: Stale launch if runtime-workbench launch is canceled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29028">29028</a>: Stack trace hyperlink does not work after clear<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 21, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24154">24154</a>: Add interfaces to debug core for enhanced debug function...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27782">27782</a>: Improve Debug UI plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29660">29660</a>: Only top stack frame icon correct after long step<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29676">29676</a>: Better error reporting when a launch config goes missing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29720">29720</a>: launch dialog for edit/run of a single config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26157">26157</a>: launch config working sets applied globally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27989">27989</a>: Provide 'final verification' launch configuration API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29450">29450</a>: LaunchManager.searchForFiles optimization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24821">24821</a>: [Key Bindings] Provide debug action definitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29153">29153</a>: Migrate extension point schema ownership<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 14, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28969">28969</a>: convenience action to open LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27342">27342</a>: No busy cursor when creating new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25569">25569</a>: Checkbox in launch config doesn't keep its value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27164">27164</a>: shared launch configs and "validate edit"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29064">29064</a>: Attached source not recognized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27830">27830</a>: Use IActionDelegate2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28033">28033</a>: external tools dialog title shows as "&External Tools"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27403">27403</a>: Should consider using the new font propogation support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22927">22927</a>: Add word-wrap option to Variables display area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28127">28127</a>: NPE if AbstractDebugView handling exception early<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22230">22230</a>: #setButtonLayoutData addition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24754">24754</a>: Preferences - should offer font choice for variable details pane<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 07, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28386">28386</a>: Source selection disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28571">28571</a>: Text selection updates on evaluation end<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10016">10016</a>: Flicker of System.err output in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28060">28060</a>: Launch#canTerminate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24884">24884</a>: Launching progress monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28562">28562</a>: details area does not update when BP hit while stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7715">7715</a>: Console does not show output of selected process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28867">28867</a>: [Console] Navigation between output of hosted/debugged apps<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27172">27172</a>: Hang copying variables with cycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29052">29052</a>: ConsolePreferencePage problem<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28383">28383</a>: Debug view flashes during stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28245">28245</a>: No launchAdded notification on first relaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28282">28282</a>: Launch view doesn't select stack frame when it is made visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27011">27011</a>: NPE from LaunchConfigurationTabGroupViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28317">28317</a>: NPE exiting workbench<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 13, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28050">28050</a>: Extra separator if no history, only favorites.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27881">27881</a>: Remote Debug Connection Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28088">28088</a>: Console view caused NPE when "becomesVisible"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27092">27092</a>: Only update variables/expressions when visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28227">28227</a>: NPE painting console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28100">28100</a>: Re-factor "isVisible" debug view function<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25437">25437</a>: Console Performance when output alternates between streams<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 10, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27139">27139</a>: Common tab has duplicate accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23216">23216</a>: Shared launches marked as favorites do not show up after importing existing project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23951">23951</a>: Flicker when closing launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26333">26333</a>: Improve launch manager startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24715">24715</a>: Launch dialog open return codes are internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26335">26335</a>: Improve debug plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27834">27834</a>: LaunchHistory registers unnecessary listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27607">27607</a>: Better Ant project names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26503">26503</a>: launch groups/dropdown should support shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27877">27877</a>: Don't use a marker for stack frame line highlighting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27816">27816</a>: Re-work launch actions to use launch group framework<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27952">27952</a>: hyperlink region should not be stored in hyperlink<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 03, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27353">27353</a>: ConsoleContentProvider -> ConsoleColorProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27347">27347</a>: Process types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27200">27200</a>: "Show console when program writes ..." doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19674">19674</a>: LaunchConfigurationDialog is over 3,000 lines (whew!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27248">27248</a>: Launch config dialog is grotesquely large<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 26, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18814">18814</a>: Cannot 'save changes' and duplicate a Launch configuration at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25745">25745</a>: NPE if no tab group specified for a configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26996">26996</a>: get/setAttributes on ILaunchConfiguration/WorkingCopy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26702">26702</a>: Allow single launch config to be edited<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 12, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25701">25701</a>: Instruction pointer disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23477">23477</a>: Most recent launch config lost after each restart<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 05, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1524">1524</a>: Feature: Displaying Instruction pointer (1G3A7CG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 22, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24738">24738</a>: Launch Config Dialog: Pressing cancel permanently diables 'Apply'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16817">16817</a>: DebugException: The resource tree is locked for modifications.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 15, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24364">24364</a>: Investigate opening launch config dialog from inside a delegate's launch() method<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 8, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24270">24270</a>: UI hangs when try to debug with 'bad' VM arguments<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 1, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24100">24100</a>: LaunchConfigurationWorkingSetPage.setSelection should work without container being set<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Sept 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23124">23124</a>: Presentation of "no source"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23266">23266</a>: NPE exception in VariablesViewContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22595">22595</a>: No code assist in details pane<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 27, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22283">22283</a>: ArrayIndexOutOfBoundsException in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19856">19856</a>: Create a new launch configuration should always be an option in launch configuration wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18877">18877</a>: Flicker in VariablesView when rapid stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 06, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21585">21585</a>: Evaluating expression switches editors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9687">9687</a>: Should have busy cursor opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21640">21640</a>: Show types action in Variables view is confused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18787">18787</a>: Slightly off message in details pane of Expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15847">15847</a>: Disable Run / Debug buttons in toolbar if no contribution is associated with that mode<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 30, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21504">21504</a>: Both "enable" and "disable" breakpoints actions are enabled when multiple breakpoints are selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20431">20431</a>: Run/debug include in favorites setting ineffective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19099">19099</a>: Console in different window keeps name of terminated and removed debug target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20504">20504</a>: Launch view accelerator update workaround no longer needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20602">20602</a>: Potential NPE in AbstractDebugView when subclass does not persist state in memento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20610">20610</a>: [Console] Terminate button disabled on Clear Console, even when app still running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20713">20713</a>: 2 requests to change value of variable when enter pressed on invalid value.<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
deleted file mode 100644
index fb29aed..0000000
--- a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,994 +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] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC4</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68181">68181</a>: [doc] Error in IDebugUIConstants javadoc (launchActionSet)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC3</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61992">61992</a>: Slow selection change in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66586">66586</a>: Debug-related views no longer "come to front" in non-debug perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66990">66990</a>: PopupInformationControl does not specify shell for handler<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66330">66330</a>: Remote Debug Connection not disconnected when JDIDebugModel.newDebugTarget(...) fails<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66443">66443</a>: Review LaunchView call to IEditorReference#getEditor(true)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67522">67522</a>: Views don't open when auto-manage initially activated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67463">67463</a>: Launch Shortcuts schema is incorrect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67507">67507</a>: Ampersand ('&') in label when adding directory to source lookup path<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67620">67620</a>: Breakpoints should not be shown in the overview ruler<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65051">65051</a>: string_prompt variable prevents other variables from executing<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67781">67781</a>: color tuning<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC2</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64638">64638</a>: Don't use new "Run" icon on Debug objects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45980">45980</a>: Check calls to IWorkspace.run(...)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65067">65067</a>: switch perspective when breakpoint hit not honored<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57293">57293</a>: [doc] Beef up contextViewBinding schema<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66033">66033</a>: Move isAutoManageViews() to LaunchViewContextListener<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63340">63340</a>: Remove DebugContextManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65814">65814</a>: o.e.debug.core.memoryRenderings extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65581">65581</a>: broken doc link for stringVariablePresentations<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65351">65351</a>: Breakpoint migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64940">64940</a>: Delay on breakpoint rendering when enable/disable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66187">66187</a>: Polish patch: support view activation via a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65356">65356</a>: source lookup tab migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65072">65072</a>: workbench not activated when breakpoint hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64984">64984</a>: Inspect doesn't work in Display View<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65039">65039</a>: Launch view should use IPerspectiveListener2<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64666">64666</a>: Run/Debug prompts to continue before compiling [JUnit]<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>June 1, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56012">56012</a>: Consistency in space at top of launch configuration tabs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64188">64188</a>: Classcast exception when trying to resolve non-stackframe object<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63468">63468</a>: ConsoleView should set it's title using setContentDescription()<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64019">64019</a>: IllegalArgumentException when editing ant builder<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63449">63449</a>: Wrong menu path for profile action set.<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61117">61117</a>: enable checkbox state after "Show Breakpoints Supported by Selected Target"<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62322">62322</a>: Green triangle for Run is confused with the Resume button<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63951">63951</a>: Wrong window activated when new window is opened<br> 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63323">63328</a>: Move "show debug action set" to LaunchView<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63493">63493</a>: LaunchView keeps lots of state from last debug session in memory<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63016">63016</a>: Display view always brought to the top<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64337">64337</a>: unqualified source lookup fails in external archive<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62803">62803</a>: ExternalArchiveSourceContainer needs to handle multiple root paths<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 21, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63348">63348</a>: NPE from popup<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63374">63374</a>: NPE in LaunchView.partClosed<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63575">63575</a>: Invalid button states in EnvironmentTab of Launch Configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62798">62798</a>: Ok to launch Yes/No should also honor cancel<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62960">62960</a>: NullPointerException when restoring default in Source Lookup Tab<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63009">63009</a>: Source Lookup Tab does not properly show icons for Jar files<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63182">63182</a>: Warning about error in pre-requisite wrong<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63090">63090</a>: Console scroll button has its logic reversed.<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63053">63053</a>: View Management view menu drop down has no mnemonic<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63249">63249</a>: uneccessary error logging<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63029">63029</a>: Show As for logical structure has no mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62564">62564</a>: A runnable may not be run, if the previous one throws an exception<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54407">54407</a>: Make a pass on all the properties files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62643">62643</a>: [External Tools] Quoted args send quote to process<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63027">63027</a>: View Management "Reset Now" button does not layed out correctly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56042">56042</a>: [Coolbar] [Workbench] Toolbar flash selecting stack frames<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62592">62592</a>: Debug view can fail to close generic debugging views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63050">63050</a>: NPE in VariablesViewContentProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62574">62574</a>: Expose Debug view's "view tracking" behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63293">63293</a>: Pressing "Reset Now/Cancel" does not cancel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63256">63256</a>: NPE when adding a breakpoint in an external Java file<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62391">62391</a>: View management: Views opened in wrong perspective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 18, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57519">57519</a>: Console should bold title when new output is available<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53508">53508</a>: Activate debug action set with debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value "null"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62069">62069</a>: NullPointerException in LaunchViewContextListener#initViewCollection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61940">61940</a>: Customized perspective opens closed views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61064">61064</a>: improve string variable descriptions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61116">61116</a>: Common watch expressions don't work for wrapper adapters<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60024">60024</a>: Memory view code could make use of Debug plugin logging support<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61385">61385</a>: Remove debug action group doc<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47295">47295</a>: Hard to pin down a console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62236">62236</a>: Debug color settings should NOT be shown in Workbench>Colors and Fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61938">61938</a>: Add source location dialog always selects Java Classpath Variable<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62193">62193</a>: No RunToLine action in context menu<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62488">62488</a>: Default pref settings<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62490">62490</a>: out-of-box experience<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61412">61412</a>: Source lookup tab causes config to need saving<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61958">61958</a>: dangerous practice of catching Throwable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60327">60327</a>: Review LaunchViewContextListener multi-window behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56412">56412</a>: Duplicate favorites after rename<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61630">61630</a>: schema for external tools configurationDuplicationMaps ext point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55400">55400</a>: context menu&gt;watch from the variables view doesn't open/activate the expressions view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62258">62258</a>: No vertical scroll bar on inspect results<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61826">61826</a>: Add file extension filtering for run/debug context menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51435">51435</a>: CommonSourceNotFoundEditor#resetEditor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60016">60016</a>: Accessibility: Run config, Arguments tab: Working directory not read<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61868">61868</a>: Double tree viewer in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61917">61917</a>: use .exsd for extension pt schemas<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62202">62202</a>: Run context menu does not filter actions based on enabled activities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62269">62269</a>: Uneccessary label computation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61928">61928</a>: Launch Views leaking<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 11, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54598">54598</a>: Launch configuration; wizard buttons New/Delete margins<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57637">57637</a>: turn Remove All Terminated Launches on by default<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60305">60305</a>: Layout problems on the Environment tab<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58384">58384</a>: Profile toolbar launch menu should use "Profile As &gt;"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51916">51916</a>: Add ability to change source lookup of a running launch<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60286">60286</a>: API Request: Ability to open launch configuration properties dialog on a specific tab<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60838">60838</a>: Support matchesContentType property test<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45656">45656</a>: New Annotation Features<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59319">59319</a>: make scroll lock global to all process consoles<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60927">60927</a>: notifyResult(...) in OpenLaunchDialogAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60952">60952</a>: Chkpii errors in I20040504<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60364">60364</a>: debug used deprecated runtime code<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61321">61321</a>: ui.console should not depend on core.resources<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60918">60918</a>: [KeyBindings] Some key bindings not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60974">60974</a>: make org.eclipse.debug.internal.ui.views.console.ProcessConsolePage.getConsoleViewer() method public<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61105">61105</a>: Configure view management per perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60010">60010</a>: Auto manage view action move to view menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61221">61221</a>: No progress dialog when prompted to wait for build<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57763">57763</a>: NPE running from scrapbook<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61166">61166</a>: source not found<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61120">61120</a>: Should closed projects be skipped?<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55423">55423</a>: don't schedule build if already building<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41376">41376</a>: Incorrect english: doesn't account for case where launch config type starts with vowel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53722">53722</a>: Run As... menu disabled if selection is empty<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61634">61634</a>: Compile errors in workspace message should be more general<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61336">61336</a>: Compile errors prompt should use a warning dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61291">61291</a>: Breakpoint view is displayed when a breakpoint is hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57052">57052</a>: [KeyBindings] F11 (Debug Last Launched) Conflict on MacOS X<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46168">46168</a>: fork() methods should use jobs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61427">61427</a>: LaunchConfigurationDialog leaked for each use<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54946">54946</a>: Contextual launch contribution should not set adaptable=true<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60051">60051</a>: Launching with Ant buildfile errors <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61308">61308</a>: Display var/expression shows in unreadable popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57333">57333</a>: Provide API to specify whether a substitution variable supports arguments<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57164">57164</a>: Context view activation should maintain view "stack"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57588">57588</a>: Removing process from launch doesn't remove associated console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61810">61810</a>: NPE in the log<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 4, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60064">60064</a>: Memory preference page is missing mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60254">60254</a>: Change required in AbstractMemoryRenderer<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56146">56146</a>: Memory View Contribution to Eclipse<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56827">56827</a>: NPE - ExpressionManager expects a delegate for all debug models<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57862">57862</a>: Ability to configure variables from variable selection dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54726">54726</a>: Fix schema reference in launch shortcut extension<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51503">51503</a>: Add filter button to Expressions view to show expressions by debug target<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59776">59776</a>: Migrate memory view pref page to view setting<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60203">60203</a>: Launch job waiting forever<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60655">60655</a>: Memory Block is not enabled / disabled by the Memory View properly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59986">59986</a>: Move from ProgressMonitorDialog to IProgressService.busyCursorWhile()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57272">57272</a>: AlwaysNeverDialog should have "Eclipse standard" look<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60708">60708</a>: Edit String Substitution Variable dialog does not use the dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58933">58933</a>: Remove activity filtering in Breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59330">59330</a>: migrate to new search API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59183">59183</a>: Cancelling foreground launch waits for build to complete<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59535">59535</a>: Opening launch configuration dialog with "profile" mode.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59356">59356</a>: LaunchConfigurationDelegate needs a way to tell it per instance to not put up status prompts.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60409">60409</a>: Use of deprecated fontDefinition extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59854">59854</a>: Debug keybindings wrong on Mac<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59990">59990</a>: function keys not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58528">58528</a>: User prompted to switch to debug when debug perspective is active<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58957">58957</a>: breakpoints : Remove BreakpointManagerListener on dispose<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57305">57305</a>: flashing breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57173">57173</a>: Activity filtering not working for debug<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58684">58684</a>: Installed JRE can't be named "."<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42138">42138</a>: Provide a way to dynamically change the process label shown in the console title and debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47164">47164</a>: Need to be able to disable go to file action for breakpoints.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57517">57517</a>: eval popup are initially too small<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57735">57735</a>: When including assert tags in private method, breakpoint can't be set<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59483">59483</a>: Predefine some launch conifiguration variables<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59042">59042</a>: Invalid Launch configurations are never cleaned up<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39024">39024</a>: Need better icon for object browsers action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57999">57999</a>: Breakpoints added to view while breakpoint manager disabled are not greyed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58516">58516</a>: HandlerSubmission constructor marked as deprecated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58766">58766</a>: doc/enhance stratum breakpoint<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59002">59002</a>: Do we need marker definitions for instruction pointers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57642">57642</a>: [ViewMgmt] debug tests failures due to missing selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57836">57836</a>: Support to put paths in variable values<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59729">59729</a>: Run-> context menu only enabled for a single selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56246">56246</a>: InstructionPointerAnnotation and IDebugEditorPresentation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58209">58209</a>: Support multi-select for Resume action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58377">58377</a>: 'Esc' out of change variable dialog doesn't cancel action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58650">58650</a>: replace debugModelActivityBinding with pattern binding<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59828">59828</a>: Various issues with SelectedResourceManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=7552">7552</a>: Keep breakpoints when renaming a resource<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58290">58290</a>: Launch error message spelling<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56850">56850</a>: DebugViewDecoratingLabelProvider.computedText never cleared<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29890">29890</a>: Debug Platform Source Lookup Facilites<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45877">45887</a>: When selecting "Build before launching", the build is not specific to the project launched, but the whole workspace<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58754">58754</a>: Wait for build never and prompt preferences reversed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55419">55419</a>: Generalize compilation error detection for other launchers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56191">56191</a>: Skip breakpoints in run-to-line<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57306">57306</a>: Improve progress feedback when user wants to wait on build before a launch<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57790">57790</a>: Support multiple debug-model-to-context extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53222">53222</a>: Trigger activities when debug elements selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53640">53640</a>: Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57929">57929</a>: Scope step actions with debuging context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58052">58052</a>: Launch view can open views in the wrong window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57788">57788</a>: API changes to IHandler causing compile errors<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 6, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56235">56235</a>: Organize Favorites dialog could remember size<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56266">56266</a>: Reorder preference choices for Save dirty editors<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56966">56966</a>: Skip All Breakpoints should have a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30639">30639</a>: Debug preference pages cut of in High Contrast<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57328">57328</a>: NPE from ResourceResolver<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55685">55685</a>: Get rid of MoveResultToViewerAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55808">55808</a>: SelectedResourceManager holds onto selections too long<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56192">56192</a>: Remove unused command for close popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55612">55612</a>: Rename "Run" keybinding category to "Run/Debug"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56035">56035</a>: Console text font should be moved to Workbench Appearance<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51901">51901</a>: Breakpoint image specification is on jdt.ui instead of debug.ui<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56214">56214</a>: ProjectSourceContainer#getSourceContainers() and referenced projects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51084">51084</a>: Launch view should not track view open/close during perspective reset<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52524">52524</a>: Blocked launch dialog should offer cancel as an option<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56013">56013</a>: Remove the use of the deprecated shared icons<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56070">56070</a>: New and Delete buttons remained disabled after cancelling search<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53548">53548</a>: Automatically close views that were opened automatically<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 30, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56677">56677</a>: AssertionFailed from LaunchConfigurationView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56082">56082</a>: no junit test for LaunchConfigurationDelegate.preLaunchCheck()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55309">55309</a>: Leak: RetargetWatchpointAction hangs onto last activated part<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56672">56672</a>: 'Marker id not found' error in breakpoint view during fast create/delete breakpoint actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55704">55704</a>: Step into selection leads to too many breakpoints being skipped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56238">56238</a>: Continue Launch when compile errors preference: Never<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 23, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53677">53677</a>: Remove "debug popup" scope when dialogs support key bindings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52613">52613</a>: [New Look] Duplicate debugger perspective opened while stopping at brk pt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55124">55124</a>: Warning reported in the builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36495">36495</a>: Debugger support for roles and activities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55040">55040</a>: Don't provide ILaunchListener2 API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54925">54925</a>: want option to not run programs with errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54631">54631</a>: debug view opens while prompting for perspective change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6400">6400</a>: DCR - suggestion to improve running vs. debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55183">55183</a>: Preference to switch perspective on suspend is too eager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55442">55442</a>: ClassCastException in LaunchViewEventHandler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55194">55194</a>: "String" problems with the DebugPreferencePage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55430">55430</a>: "[KeyBindings] Migrate Popup keybinding support to new EnabledSubmission API<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 16, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50156">50156</a>: Disable "Use Step Filters" toggle for targets that do not support step filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54189">54189</a>: Disable "Use ToggleAutoManageViewsActionDelegate is missing required id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37485">37485</a>: Icons for launch short-cuts should be optional<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44234">44234</a>: Type names always qualified in expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53223">53223</a>: Expression popup should also show toString()/details<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54073">54073</a>: Chkpii warnings in plugin.xml files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10302">10302</a>: 'Run to Line' stops at breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52809">52809</a>: Evaluating in debugger should not stop on breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38950">38950</a>: Display offset of cursor in variables detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10078">10078</a>: Feature: Global enable/disable of breakpoints (and leave breakpoints list untouched)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54182">54182</a>: Two prompts when starting a debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12746">12746</a>: refactoring support for launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52017">52017</a>: Add createCheckButton API to AbstractLaunchConfigurationTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34345">34345</a>: Disabled watch expression label includes "obsolete"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53001">53001</a>: Need a separator between 'Include type inheriting ...' and 'stop in main' in the main Java launch configuration tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54859">54859</a>: Breakpoint are not set as non-registered when deleted from the breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54117">54117</a>: Contextual Launch should use XML Expression Language<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52952">52952</a>: show all env vars when replacing environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48933">48933</a>: Move to use the Platform UI color support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50384">50384</a>: Debugger perspective: default layout improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37514">37514</a>: global retargettable breakpoint action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52450">52450</a>: Don't open Expression View by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51402">51402</a>: [Generic console] need showConsoleView() method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51935">51935</a>: Add UI support for variables when specifying environment variable values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54065">54065</a>: Tooltip text for profile button in toolbar is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54901">54901</a>: Better error logging when launch configuration blows up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51568">51568</a>: Numerated accelerators for launch shorts in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54924">54924</a>: Variable selection dialog needs mneumonic for Variable Desc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54619">54619</a>: Doc for breakpoint manager enablement<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 9, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14414">14414</a>: Use detail pane for variable value setting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53636">53636</a>: Label changes after display/inspect popup is visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53665">53665</a>: NPE with "double click"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48313">48313</a>: Message console does not support tab size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52964">52964</a>: Persist size of debug pop-ups (or size better)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53470">53470</a>: launch waiting for build shows up in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53693">53693</a>: Variables view doesn't show variables.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51787">51787</a>: Stepping in Java Perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53554">53554</a>: Default perspective switching preferences are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53954">53954</a>: "Change variable value" action.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50886">50886</a>: Update debug markerAnnotationSpecification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44135">44135</a>: ability to prompt for arguments in run/debug profiles<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 2, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52607">52607</a>: console: no action when drop down is pressed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51387">51387</a>: API for retreiving console associated with a process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52867">52867</a>: New look - console no longer has a view title<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53225">53225</a>: Display keybinding for default close action in debug popup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51386">51386</a>:	Variables view does not persist size of details area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13933">13933</a>:	Terminating launch does not send launchChanged event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53313">53313</a>:	StringIndexOutOfBoundsException from LaunchConfiguration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52330">52330</a>:	Logical Structure should have a single value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52974">52974</a>: NPE in launch dialog when creating a new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53409">53409</a>: Launch view doesn't persist "views to not close"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49877">49887</a>: Expose the exit value of IProcess<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 24, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29953">29953</a>: Launch configuration not found, many stacktraces in the .log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13449">13449</a>: Better description when launch configuration type is selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52397">52397</a>: NPE from AddFavoritesAction and others when rename launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52763">52763</a>:	Edit String Substitution Variable dialog clears value on name change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52170">52170</a>:	Improve debug context inheritance<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 17, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51998">51998</a>: Bad label for a menu item<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51465">51465</a>: Variable subranges<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51635">51635</a>: Debug view is not brought to the front when a breakpoint is hit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37942">37942</a>: Launch config dialog should have some way to determine the full location of JARs that are listed on the classpath<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 12, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51803">51803</a>: ClassCastException importing preferences<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 10, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18338">18338</a>: Run/Debug in the context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51388">51388</a>: Show "Selection Not Applicable"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51422">51422</a>: NPE on hitting breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49934">49934</a>: Promote views with debugging contexts<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 3, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50155">50155</a>: New Job#schedule() behavior<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50203">50203</a>: Exception in error log + blank rendered in sessions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50543">50543</a>: Cannot override PATH environment variable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49972">49972</a>: Nothing happens when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49891">49891</a>: Problems launching a program, when using linked resources in CLASSPATH, which are not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50407">50407</a>: NPE in selected text resolver<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50223">50223</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46781">46781</a>: Console buffer size limit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46869">46869</a>: Message console does not buffer output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49288">49288</a>: Set Variable dialog not sized properly or resizable.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47601">47601</a>: external tools: add ${selection} as a variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48320">48320</a>: Adapt to annotation deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49977">49977</a>: Less invasive background labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41510">41510</a>: Step with Filters: unify function across languages by allowing filters to be enabled/disabled on the 3 basic step functions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45603">45603</a>: Cycles in string substitutions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46363">46363</a>: Lazy label provider for variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49884">49884</a>: ProcessConsolePage does not deregister hyperlink action<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48608">48608</a>: Handle null for IProcess#getStreamsProxy()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46868">46868</a>: Changing text color via a MessageStream doesn't update colors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46797">46797</a>: Possible NPE when writing launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48226">48226</a>: Tooltip text for "External Tools" toolbar button not updated.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47668">47668</a>: Exclude exception location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37506">37506</a>: RefreshTab makes use of WorkbenchPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45991">45991</a>: need package.html in "variables" plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47848">47848</a>: IDebugEditorPresentation methods called in different order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47855">47855</a>: Review VariableViewToggleAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48224">48224</a>: Target execution order hidden<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47268">47268</a>: Selected launch configuration incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48190">48190</a>: Variables context menu actions need eclipses [...]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40541">40541</a>: NPE in launch configuration dialog<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 9, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37918">37918</a>: Console uses Date format that is not appropriate for Japanese<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47949">47949</a>: Nothing added to launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47924">47924</a>: Thread label flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47834">47834</a>: No feedback that launch got queued/postponed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47377">47377</a>: Console: order of local toolbar items should remain stable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42272">42272</a>: Resize problem in Launch Config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41609">41609</a>: invalid tab size (rendering) in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48315">48315</a>: LaunchView thread timer runs too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47389">47389</a>: Use of deprecated API from IActivityManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38419">38419</a>: Variable "filters" is a misnomer<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47478">47478</a>: Switching to use JRE Library container<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47107">47107</a>: Open Resource not available in Debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45981">45981</a>: Move debug projects to use PDE dynamic classpath support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46811">46811</a>: Deadlock saving working copied<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 25, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47248">47248</a>: NPE starting run-time workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38979">38979</a>: Should not be able to remove contributed variables<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47100">47100</a>: TitleAreaDialog image has been disposed<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 20, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47071">47071</a>: Set instruction point layer to 6 in code<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 19, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46858">46858</a>: FileLink needs to resolve an editorId<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 18, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45524">45524</a>: Artwork for array partitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46728">46728</a>: org.eclipse.ui.console should be tagged as 3.0 plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44479">44479</a>: Exception when trying to start RuntimeWorkbench while workspace is building<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 11, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36942">36942</a>: [plan item] Present logical view of Java objects in debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45903">45903</a>: Breakpoint incorrectly enabled after activity filtering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43387">43387</a>: Refresh tab and specific resources<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44566">44566</a>: Refresh tab does not enable "Apply" when changing selection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 4, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45849">45849</a>: ConcurrentModificationException in Expression manager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43332">43332</a>: String Substitution Support - org.eclipse.core.variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43952">43952</a>: Improve launch tab interface/notification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44100">44100</a>: UI blocked removing breakpoints from breakpoints view with other jobs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46152">46152</a>: Revise usage of IWorkspace.run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46035">46035</a>: NPE in Run... pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45858">45858</a>: User gets prompted multiple times to save the same resources<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 28, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45195">45195</a>: Debug View: Copy Stack only copies <pending...><br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44856">44856</a>: errors in label update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44723">44723</a>: Redundant launching job message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36735">36735</a>: Would like automatic partitioning of large arrays<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44099">44099</a>: organize favorites...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44577">44577</a>: Suspended debug target not given "suspended" overlay<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44934">44934</a>: Remove dependancies on Xerces plugin<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44660">44660</a>: MessageConsole.appendToDocument(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44040">44040</a>: IConsoleLineTrackerExtension and after consoleClosed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44012">44012</a>: missing closed notification for console line tracker<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 07, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40609">40609</a>: Launch configuration dialog re-initializes all of the tabs on close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43226">43226</a>: Deadlock using 0916<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44048">44048</a>: Cannot create New String Substitutions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 30, 2003 </p>
-<h3>API Changes</h3>
-<ul>
-  <li>Support for variables that support string substitution has been changed. 
-    The previously experimental extension points for simpleLaunchVariables, contextLaunchVariables, 
-    and refreshLaunchVariables have been replaced with new (and yet experimental) 
-    extension points valueVariables and contextVariables. The new support is purely 
-    string based and is currently implemented in internal packages. It is percieved 
-    that the new support could be moved to a new plug-in such that more clients 
-    could leverage the support, as the current implementation is not tied to the 
-    debug plug-in. </li>
-  <li>A console line tracker (IConsoleLineTracker) can be notified when its associated 
-    console is closed (i.e. all of its streams are closed), by implementing the 
-    new interface IConsoleLineTrackerExtension. The notification indicates that 
-    no more output will be appended to the console.</li>
-</ul>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43608">43608</a>: NPE removing an existing program in the external tools launching configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43477">43477</a>: Console plug-in needs package.html<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43704">43704</a>: LaunchConfiguration.getFile does not handle linked resources: NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41579">41579</a>: Move selection to next suspended thread after resuming<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43197">43197</a>: Race condition between console line tracker and debug terminate event<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 23, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43225">43225</a>: No prompt to save dirty editors <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43353">43353</a>: Environment variable names all lowercased when appending to native environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43331">43331</a>: Rework Refresh Tab to avoid use of "refresh variables"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43334">43334</a>: Refresh Tab always needs "apply" when working set specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33866">33866</a>: Move to using the PDE generated build.xml for exporting plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37263">37263</a>: Support for generic console<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 16, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42570">42570</a>: Promote RuntimeProcess to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42779">42779</a>: Duplicate entry in expression view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42814">42814</a>: Ability of "override" environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42877">42877</a>: Clean up Launch in Background / Run in Background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19292">19292</a>: Icons for enable/disable breakpoints very confusing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37091">37091</a>: Need icon for environment tab and variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10668">10668</a>: Variable view - should reselect selected variable name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42177">42177</a>: Installed JRE's preference page is huge<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40863">40863</a>: Env var usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37784">37784</a>: Rename "Debug" preference page to "Run/Debug"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 09, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42020">42020</a>: Move "Run in background" to builders only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41866">41866</a>: Reference to IConsoleDocumentContentProvider in error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42179">42179</a>: Reevaluate watch expression enabled with no active targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41633">41633</a>: ILaunchManager#getLaunchConfigurations returns private configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41352">41352</a>: Incorrect lineAppended notification from ConsoleLineNotifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1562">1562</a>: Suspending on a breakpoint...select that breakpoint (1GD5P0D)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42184">42184</a>: Edit->Find action for the console is only enabled after some text is selected<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41758">41758</a>: "Profile Last Launched" menu item is at the bottom, should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42218">42218</a>: LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST no longer used<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41947">41947</a>: LaunchConfigurationDialog and cancellation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42064">42064</a>: "New Launch Variable" and "Edit Launch Variable" dialogs do not use dialog font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42189">42189</a>: NPE during shutdown<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Aug 27, 2003 </p>
-<h3>New Features in Milestone 3 (release 3.0)</h3>
-<h4>Extensible Watch Expressions</h4>
-<p>In release 3.0, the debug platform provides an implementation of watch expressions. 
-  Debug models can contribute watch expression delegates if they support watch 
-  expressions. When a stack frame is selected, the associated delegate is queried 
-  to provide a value for a watch expression in the given (stack frame) context. 
-  The debug platform provides persistence, enabling, disabling, entering, and 
-  editing of watch expressions. See the new extension point <code>org.eclipse.debug.core.watchExpressionDelegates</code> 
-  for more details.</p>
-<h3>API Changes</h3>
-<h4>Launch Tabs &amp; Tab Groups</h4>
-<p>Launch tab groups and launch tabs are no longer notified when a launch completes. 
-  The method <code>launched(ILaunch)</code> in the interfaces <code>ILaunchConfigurationTab</code> 
-  and <code>ILaunchConfigurationTabGroup</code> has been deprecated and is no 
-  longer called. Relying on this method for launch function was always problematic, 
-  since tabs only exist when launching is performed from the launch dialog. Also, 
-  with the introduction of background launching, this method can no longer be 
-  called, as the launch dialog is be closed before the resulting launch object 
-  exists.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41675">41675</a>: breakpoints no longer visible in overview ruler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38842">38842</a>: Make enabling and disabling expressions part of the debug framework.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27493">27493</a>: Re-use "watch list" actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41940">41940</a>: watch item not updated when enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41941">41941</a>: API method should be internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41550">41550</a>: launch in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41977">41977</a>: watch items will not disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42013">42013</a>: Launching should not be UIJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42037">42037</a>: Breakpoint not shown as checked when enabled.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 19, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41499">41499</a>: Update doc for watchExpressionDelegates extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41448">41448</a>: launch shortcuts should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41506">41506</a>: NPE attempting to create watch expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27281">27281</a>: The watch expressions don't persist across workbench invocations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41575">41575</a>: Can't open breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41585">41585</a>: shared launch configurations are not being encoded with UTF-8<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 12, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41290">41290</a>: Typo: "persepctive" in launch configurations window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41276">41276</a>: Clarify ILaunchConfiguration#getLocation()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41384">41384</a>: Chkpii errors in debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 5, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40964">40964</a>: Got DebugException when stepping and removing a breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38365">38365</a>: current instruction pointer annotation only added for ITextEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40961">40961</a>: Refresh tab indicates working set error when no refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40962">40962</a>: Refresh tab revert enabled incorrectly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19581">19581</a>: Single launch config error logged many time<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 29, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40576">40576</a>: NPE with pinned console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40844">40844</a>: NPE using debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35453">35453</a>: Process output causes switch to wrong console view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35573">35573</a>: Console output on new run or debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 22, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40235">40235</a>: preference page 'launch variables' uses borderless table, which looks suboptimal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40275">40275</a>: Superfluous semicolons in the generated jdt eval tests<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 15, 2003 
-<h3>New Features in Milestone 2 (release 3.0)</h3>
-<h4>Extensible Debug Events</h4>
-<p>The debug platform supports an extensible set of debug events. A debug event 
-  kind of <code>MODEL_SPECIFIC</code> has been added in the 3.0 release to indicate 
-  an application specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-  is created, the detail code in the event is client defined. The source of the 
-  event (debug element that generated the event) identifies the debug model from 
-  which the event was generated. The debug platform and user interface ignores 
-  model specific debug events.</p>
-<p>A data field has been added to debug events to allow clients to store application 
-  specific data in debug events.</p>
-<h4>Extensible Instruction Pointer Images</h4>
-<p>When a stack frame is selected in the debug view, the debugger opens a corresponding 
-  editor and displays an image in the editor ruler on the line that corresponds 
-  to the selected stack frame. In releases prior to 3.0, the images were provided 
-  by the debug plug-in and could not be overridden by a debug model. In release 
-  3.0, a debug model presentation (<code>IDebugModelPresentation</code>) can provide 
-  specialized images by implementing the debug editor presentation interface (<code>IDebugEditorPresentation</code>).</p>
-<h4>Editor Positioning and Custom Decorations</h4>
-<p>In release 3.0, debug model presentations can control the positioning of editors 
-  opened by the debugger for a stack frame, and may add extra decorations to the 
-  editor for a stack frame (for example, custom background coloring, etc.). This 
-  can be acheived by having a debug model presentation implement the new interface 
-  <code>IDebugEditorPresentation</code>, and implementing the appropriate methods 
-  - <code>selectAndReveal</code>,<code> decorateEditor</code>, and <code>removeDecorations</code>.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33598">33598</a>: Need to dynamically set icon for current line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38976">38976</a>: Cancelling on launch var pref page does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38980">38980</a>: var descriptions not persisted.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37793">37793</a>: When moving folders and/or files in the navigator window UI hangs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36147">36147</a>: Launch framework doesn't handle out of sync launch files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37092">37092</a>: Environment tab variables should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38534">38534</a>: Duplicate environment variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39979">39979</a>: Edit button should be disabled for multiselect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36597">36597</a>: Would like to say what text attributes to use when selecting the executing statement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35208">35208</a>: IAE in JavaMainTab when entering project name with path seperator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39980">39980</a>: Selection of launch variables in the Launch Variable pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38324">38324</a>: Double dialog for launch variable is unnecessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40122">40122</a>: NPE in TextEditorSelection.remove<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 9, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39058">39058</a>: Would like "collapse all" action in variable view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38577">38577</a>: Setting detail pane to be visible can hide selected variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39482">39482</a>: NPE adding Java Watch expressions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39709">39709</a>: Duplicated entries in the debugger<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 1, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38584">38584</a>: Book Capitilization for the tooltip for Toggle Variable Filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38508">38508</a>: [Dialog] [Font] Remote Java Application/Connect Page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38302">38302</a>: An IProcess that returns null for getStreamsProxy generates 2 null pointer exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39397">39397</a>: Consolidate variables & general debug preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39208">39208</a>: Context menu "Copy" should show Icon from ISharedImages [Console]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39344">39344</a>: Convert ProcessMonitor to be a Job<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39258">39258</a>: Launch Configuration dialog: Screen cheese when switching between nodes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39394">39394</a>: Extensible debug events<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23432">23432</a>: Some exceptions should not be logged.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38676">38676</a>: can't debug into class if file/class name identifier has _$$_<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38722">38722</a>: Need restoration of preference store for those actions that are enabled only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38532">38532</a>: Variables view orientation actions should more closely mimic the type hierarchy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22941">22941</a>: Details area orientation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37241">37241</a>: Support for core variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38837">38837</a>: CHKPII errors with launch variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38972">38972</a>: variable values only persisted when added/removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38967">38967</a>: simple launch variables & lazy init of plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38725">38725</a>: Debug context variables missing descriptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38727">38727</a>: IVariableComponent#setEnabled(boolean)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38671">38671</a>: NPE from LaunchVariableManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38649">38649</a>: Plugin.xml and schema validation<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38423">38423</a>: NPE during creation of varibles view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38529">38529</a>: UI locks up toggline on the variable filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38420">38420</a>: Details pane does not populate when first opened<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 3, 2003
-
-<h3> Extensible Launch Modes</h3>
-<p>The debug platform supports an extensible set of launch modes. Releases prior 
-  to 3.0 only supported two launch modes - run and debug. The debug platform now 
-  provides an extension point for contributing new launch modes - <code>org.eclipse.debug.core.launchModes</code>. 
-  The debug platform now defines (contributes) three basic launch modes - run, 
-  debug, and profile. Other clients may contribute new launch modes. The launch 
-  manager (<code>ILaunchManager</code>) has additional API to retrieve all launch 
-  modes, and a human readable label for each launch mode.</p>
-<p>The debug platform has a new extension point to support the contribution of 
-  a launch delegate for a specific launch configuration type and launch mode - 
-  <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch configurations 
-  to be extended by third parties, to support new launch modes. For example, a 
-  client could contribute a launch delegate that launches a Java Application in 
-  profile mode (currently, the SDK does not provide a profiler).</p>
-<p>The debug platform has added an optional element (<code>launchMode</code>), 
-  to the definition of a launch tab group extension - <code>(org.eclipse.debug.ui.launchConfigurationTabGroup</code>), 
-  to support the contribution of a set of tabs for a specific launch configuration 
-  type and launch mode. This allows third parties to extend an existing lauch 
-  configuration user interface. For example, a client contributing a launch delegate 
-  to profile a Java Application would also contribute a set of tabs to configure 
-  the profiler. The launchMode element defines a perpsective attribute to specify 
-  the default perspective associated with the launch configuration type and mode. 
-  This controls the perspective that is switched to/opened, by default, when a 
-  configuration is launched in the associated mode. For example, a client contributing 
-  a profiler may also contribute a profiling perspective that should be displayed 
-  when an application is profiled.</p>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38083">38083</a>: [Viewers] Debug exception when double-clicking on hashtable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38249">38249</a>: NPE trying to create project builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37141">37141</a>: Common tab icon should not be a bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38283">38283</a>: Remove the setting of the target perspective on working copies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38102">38102</a>: [Debug] [Preferences] Launch Variables Page; Table Columns truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38330">38330</a>: No double click to edit for launch variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38325">38325</a>: Launch variable not removed from table on remove<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38336">38336</a>: Support delete key in launch variable table<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38328">38328</a>: Launch variable table needs to be sorted alphabetically<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38070">38070</a>: AbstractLaunchConfigurationTabGroup#launched() javadoc typo<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 06, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37090">37090</a>: Apply/Revert incorrectly enabled for Environment tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36930">36930</a>: Support variables in launch configurations<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 29, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27243">27243</a>: Environment for external tools<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 22, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35740">35740</a>: Disable edit launch config popup action for private launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36390">36390</a>: Doc error in schema for consoleColorProviders and consoleLineTrackers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36152">36152</a>: Workbench Help set on wrong Composite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36035">36035</a>: Request a variant on DebugPlugin.exec that takes an environment pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36409">36409</a>: TODO marker for help context for OpenLaunchDialogAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_changes.html b/org.eclipse.debug.core/r3_0_changes.html
deleted file mode 100644
index 1e584cb..0000000
--- a/org.eclipse.debug.core/r3_0_changes.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<html>
-<head>
-<title>3.0 Debug Platform Change Notes</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1>3.0 Debug Platform Change Notes</h1>
-<p>This document describes important changes in the 3.0 debug platform, relative 
-  to the 2.1 release.</p>
-  
-<h2>New Features</h2>
-
-<h3> Extensible Launch Modes</h3>
-<p>The debug platform supports an extensible set of launch modes. Releases prior 
-  to 3.0 only supported two launch modes - run and debug. The debug platform now 
-  provides an extension point for contributing new launch modes - <code>org.eclipse.debug.core.launchModes</code>. 
-  The debug platform now defines (contributes) three basic launch modes - run, 
-  debug, and profile. Other clients may contribute new launch modes. The launch 
-  manager (<code>ILaunchManager</code>) has additional API to retrieve all launch 
-  modes, and a human readable label for each launch mode.</p>
-<p>The debug platform has a new extension point to support the contribution of 
-  a launch delegate for a specific launch configuration type and launch mode - 
-  <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch configurations 
-  to be extended by third parties, to support new launch modes. For example, a 
-  client could contribute a launch delegate that launches a Java Application in 
-  profile mode (currently, the SDK does not provide a profiler).</p>
-<p>For backwards compatibility, the launch delegate supplied by a launch configuration 
-  type extension is used for the launch modes specified by the launch configuration 
-  type. A launch delegate supplied for a specific mode, is used only for that 
-  mode. </p>
-<p>The debug platform has added an optional element (<code>launchMode</code>), 
-  to the definition of a launch tab group extension - <code>(org.eclipse.debug.ui.launchConfigurationTabGroup</code>), 
-  to support the contribution of a set of tabs for a specific launch configuration 
-  type and launch mode. This allows third parties to extend an existing launch 
-  configuration user interface. For example, a client contributing a launch delegate 
-  to profile a Java Application would also contribute a set of tabs to configure 
-  the profiler. The <code>launchMode</code> element defines a <code>perspective</code> 
-  attribute to specify the default perspective associated with the launch configuration 
-  type and mode. This controls the perspective that is switched to/opened, by 
-  default, when a configuration is launched in the associated mode. For example, 
-  a client contributing a profiler may also contribute a profiling perspective 
-  that should be displayed when an application is profiled.</p>
-<p>For backwards compatibility, the tab group contributed for a launch configuration 
-  type (specifying no launch mode), is used for all launch modes for which a specific 
-  launch tab group is not contributed. Thus, when a mode is not specified by a 
-  tab group, the tab group effectively becomes the default tab group.</p>
-  
-<h3>Extensible Debug Events</h3>
-<p>The debug platform supports an extensible set of debug events. A debug event 
-  kind of <code>MODEL_SPECIFIC</code> has been added in the 3.0 release to indicate 
-  an application specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-  is created, the detail code in the event is client defined. The source of the 
-  event (debug element that generated the event) identifies the debug model from 
-  which the event was generated. The debug platform and user interface ignores 
-  model specific debug events.</p>
-<p>A data field has been added to debug events to allow clients to store application 
-  specific data in debug events.</p>
-  
-<h3>Editor Positioning and Custom Annotations</h3>
-<p>In release 3.0, a debug model presentation can position and annotate editors 
-  opened by the debugger for stack frames. This is done by implementing the new 
-  interface <code>IDebugEditorPresentation</code> on the applicable debug model 
-  presentation. When implemented, the model presentation is used as a delegate 
-  to position editors, add annotations, and remove annotations for stack frames.</p>
-
-<h3>Extensible Watch Expressions</h3>
-<p>In release 3.0, the debug platform provides an implementation of watch expressions. 
-  Debug models can contribute watch expression delegates if they support watch 
-  expressions. When a stack frame is selected, the associated delegate is queried 
-  to provide a value for a watch expression in the given (stack frame) context. 
-  The debug platform provides persistence, enabling, disabling, entering, and 
-  editing of watch expressions.</p>
-
-<h3>Process Factories</h3>
-<p>The debug platform provides an extension point (<code>org.eclipse.debug.core.processFactories</code>) 
-  for contributing process factories. A process factory can be used to override 
-  default process creation for a launch configuration when the debug plug-in (i.e.<code> 
-  org.eclipse.debug.core.DebugPlugin</code>) is consulted to create a new process. 
-  A launch configuration can reference a process factory to use when creating 
-  a process, via the launch configuration attribute <code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>.</p>
-
-<h3>Automatic Array Partitioning</h3>
-<p>The debug plug-in now supports automatic array partitioning in the variables, 
-  which partitions large arrays into sub-ranges in the variables view. This is 
-  supported with the introduction of a new interface in the debug model representing 
-  an indexed value - <code>org.eclipse.core.debug.model.IIndexedValue</code>. 
-  If a value implements this interface, the variables view will automatically 
-  partition its elements as required, into sub-ranges</p>
-
-<h3>Logical Structure Types</h3>
-<p>Often, it is convenient to navigate complex data structures in terms of a logical 
-  structure, rather than an implementation structure. For example, no matter how 
-  a list is implemented (i.e. linked list, collection of arrays, etc.), it is 
-  often convenient to be able to view the list as an ordered collection. To facilitate 
-  the display of logical structures in the variables view, an extension point 
-  has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>) allowing 
-  debug models to contribute logical structures of its values, where applicable. 
-  Debug models may contribute delegates to translate raw implementation values 
-  into logical values. The variables view will display the logical values, when 
-  the option to display logical structures is turned on. More than one logical 
-  structure can be provided for a single value - the user can choose which structure 
-  to display.</p>
-
-<h3>Step Filters</h3>
-<p>To support step filters on all stepping functions (into, over, return), a new 
-  interface has been added to the debug platform - <code>IStepFilters</code> - 
-  which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>, 
-  which is now deprecated. The debugger provides a global toggle that turns step 
-  filters on/off for all stepping functions. Toggle actions are provided in the 
-  Run menu, Debug View context menu, and Debug View toolbar, which replaces the 
-  'Step with Filters' action in previous releases. As well, an API is provided 
-  on <code>DebugUITools</code> to modify step filter enablement. It is up to debug 
-  targets to implement this new interface and to honor the step filter enablement 
-  setting when stepping. See javadoc for <code>IStepFilters</code> for more details.</p>
-<p>This change maintains binary compatibility with previous releases. However, 
-  targets wishing to leverage the new function must implement the new interface.</p>
-
-<h3>Launch Termination Notification</h3>
-<p>A new interface has been introduced to provide a mechanism for launch listeners 
-  to be notified when a launch terminates. A launch is simply a container of processes 
-  and debug targets. When all of the contained targets and processes terminate, 
-  a terminate notification is now sent to those listeners that implement
-  <code>ILaunchesListener2</code>.</p>
-  
-
-<h3>Launch Delegate Enhancements</h3>
-<p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>. 
-  This allows launch delegates to provide a launch object to be used for a launch. 
-  For example, when debugging on a server a delegate could create a new launch 
-  object or may reuse an existing launch object if the server is already running 
-  in debug mode.</p>
-
-<h3>Retargettable Actions</h3>
-<p>The debug platform now provides retargettable actions for the following actions.</p>
-<ul>
-  <li>Run to Line</li>
-  <li>Toggle Line Breakpoint</li>
-  <li>Toggle Method Breakpoint</li>
-  <li>Toggle Watchpoint</li>
-</ul>
-<p>Debug implementations can plug into the retargettable actions by providing 
-  appropriate adapters for relevant editors and model objects that perform the 
-  actual operations (<code>IRunToLineTarget</code> and <code>IToggleBreakpointsTarget</code>, 
-  defined in the <code>org.eclipse.debug.ui.actions</code> package). A retargettable 
-  action works on the active part. First the part is asked for a target adapter. 
-  If the part does not provide an adapter, the selected objects within the part 
-  are consulted for adapters.</p>
-<p>As well, action delegates actions are provided by the debug platform such that 
-  debug implementations can contribute appropriate actions to context menus. An 
-  editor actions delegate is provided for the run to line action, and an object 
-  action delegate is provided for toggling method breakpoints and watchpoints. 
-  See the following classes: <code>RunToLineActionDelegate</code>, <code>ToggleMethodBreakpointActionDelegate</code>, 
-  and <code>ToggleWatchpointActionDelegate</code> in the <code>org.eclipse.debug.ui.actions</code> 
-  package.</p>
-  
-<h2>API Changes</h2>
-
-<h3>Debug Action Groups removed</h3>
-<p>The Debug Action Groups extension point (org.eclipse.debug.ui.debugActionGroups) has been
-  removed. In Eclipse 3.0, the workbench introduced support for Activities via the
-  org.eclipse.platform.ui.activities extension point. This support provides everything
-  that Debug Action Groups provided and is also easier to use (it supports patterns instead of
-  specifying all actions exhaustively) and has a programmatic API to support it.</p>
-<p>Failing to remove references to the old extension point won't cause any failures.
-  References to the extension point will simply be ignored. Product vendors are encouraged to
-  use the workbench Activities support to associate language-specific debugger actions with
-  language-specific activities (for example, C++ debugging actions might be associated with
-  an activity called "Developing C++").</p>
-
-<h3>Extensible Launch Modes</h3>
-<p>With the introduction of extensible launch modes, more than one launch delegate 
-  can exist for a launch configuration type. Releases prior to 3.0 only supported 
-  one launch delegate per launch configuration type. The method <code>ILaunchConfigurationType.getDelegate()</code> 
-  is now deprecated. The method <code>getDelegate(String mode)</code> should be 
-  used in its place to retrieve the launch delegate for a specific launch mode. 
-  The deprecated method has been changed to return the launch delegate for the 
-  <code>run</code> mode.</p>
-
-<h3>Launch Tabs &amp; Tab Groups</h3>
-<p>Launch tab groups and launch tabs are no longer notified when a launch completes. 
-  The method <code>launched(ILaunch)</code> in the interfaces <code>ILaunchConfigurationTab</code> 
-  and <code>ILaunchConfigurationTabGroup</code> has been deprecated and is no 
-  longer called. Relying on this method for launch function was always problematic, 
-  since tabs only exist when launching is performed from the launch dialog. Also, 
-  with the introduction of background launching, this method can no longer be 
-  called, as the launch dialog is be closed before the resulting launch object 
-  exists.</p>
-
-<h3>Perspective Switching</h3>
-<p>In prior releases, perspective switching was specified on a launch configuration, 
-  via the launch configuration attributes <code>ATTR_TARGET_DEBUG_PERSPECTIVE</code> 
-  and <code>ATTR_TARGET_RUN_PERSPECTIVE</code>. With the addition of extensible 
-  launch modes in 3.0, this approach no longer scales. Perspective switching is 
-  now specified on launch configuration type basis, per launch mode that a launch 
-  configuration type supports. API has been added to <code>DebugUITools</code> 
-  to set and get the perspective associated with a launch configuration type for 
-  a specific launch mode.</p>
-<p>An additional, optional, <code>launchMode</code> element has been added to 
-  the <code>launchConfigurationTabGroup</code> extension point, allowing a contributed 
-  tab group to specify a default perspective for a launch configuration type and 
-  mode.</p>
-<p>From the Eclipse user interface, users can edit the perspective associated 
-  with a launch configuration type by opening the launch configuration dialog, 
-  and selecting a launch configuration type node in the tree (rather than an individual 
-  configuration). A tab is displayed allowing the user to set a perspective with 
-  each supported launch mode.</p>
-
-<h3>Generic Console</h3>
-<p>With the work for the generic console support <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37263"> 
-  (Bug 37263)</a>, the view id for the Eclipse (formerly debug) console has changed. 
-  This results in problems at startup such as "Could not restore workbench layout" 
-  with details that "Could not create view: org.eclipse.debug.ui.ConsoleView" 
-  for the particular perspective that contained reference to the old view id. 
-  The equivalent view id is now: "org.eclipse.ui.console.ConsoleView".<br>
-  The generic console is available via the Window>Show View>Basic>Console and 
-  is used by the Eclipse debug and Ant integration. </p>
-
-<h3>Console Line Tracker Extension</h3>
-<p>A console line tracker (<code>IConsoleLineTracker</code>) can be notified when 
-  its associated console is closed (i.e. all of its streams are closed), by implementing 
-  the new interface <code>IConsoleLineTrackerExtension</code>. The notification 
-  indicates that no more output will be appended to the console.</p>
-
-<h3>Launch Configuration Tab Enhancements</h3>
-<p>Two methods have been added to the <code>ILaunchConfigurationTab</code> interface 
-  - activated and deactivated. These new life cycle methods are called when a 
-  tab is entered and exited respectively. Existing implementations of <code>ILaunchConfigurationTab</code> 
-  that subclass the abstract class provided by the debug plug-in (<code>AbstractLaunchConfigurationTab</code>) 
-  will maintain binary compatibility, as the methods have been added in the abstract 
-  class.</p>
-<p>In prior releases, a tab was sent the message <code>initializeFrom</code> when 
-  it was activated, and <code>performApply</code> when it was deactivated. In 
-  this way, the launch configuration tab framework provided inter-tab communication 
-  via a launch configuration (by updating the configuration with current attribute 
-  values when a tab is exited, and updating the newly entered tab). However, since 
-  many tabs do not perform inter-tab communication, this can be inefficient. As 
-  well, there was no way to distinguish between a tab being activated, and a tab 
-  displaying a selected launch configuration for the first time. The newly added 
-  methods allow tabs to distinguish between activation and initialization, and 
-  deactivation and saving current values. </p>
-<p>To avoid breaking the behavior of current tab implementations, the default 
-  implementation of <code>activated</code>, provided by the abstract tab, calls 
-  <code>initializeFrom</code>. And, the default implementation of <code>deactivated</code> 
-  calls <code>performApply</code>. Tabs wishing to take advantage of the new API 
-  should override these methods as required. Generally, for tabs that do not perform 
-  inter-tab communication, a correct implementation of these methods is to do 
-  nothing.</p>
-  
-<h3>BreakpointManager Can Be Disabled</h3>
-<p>IBreakpointManager now defines the methods setEnabled(boolean) and isEnabled().
-  When the breakpoint manager is disabled, debuggers should ignore all registered breakpoints.
-  The debug platform also provides a new listener mechanism, IBreakpointManagerListener
-  which allows clients to register with the breakpoint manager to be notified when its
-  enablement changes.</p>
-<p>The Breakpoints view calls this API from a new toggle action that allows the user to
-  "Skip All Breakpoints." Debuggers which do not honor the breakpoint manager's enablement
-  will thus appear somewhat broken if the user tries to use this feature.</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_1_changes.html b/org.eclipse.debug.core/r3_1_changes.html
deleted file mode 100644
index fb2cba6..0000000
--- a/org.eclipse.debug.core/r3_1_changes.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
-<title>3.1 Debug Platform Change Notes</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1>3.1 Debug Platform Change Notes</h1>
-<p>This document describes new features and important changes in the 3.1 debug 
-  platform, relative to the 3.0 release.</p>
-  
-<h2>New Features</h2>
-
-<h3> Breakpoint Organizers</h3>
-<p>The breakpoints view allows breakpoints to be displayed in groups. The platform 
-  supports breakpoint groupings by breakpoint type, file, project, and breakpoint 
-  working sets and resource based working sets (as well, it supports nested groupings). 
-  The <code>breakpointOrganizers</code> extension point allows for other grouping 
-  strategies to be contributed to the debug platform.</p>
-<p>A new, optional, <code>name</code> attribute has been added to the breakpoints 
-  extension point to provide a type name for breakpoints. This name appears as 
-  the group label, when the user chooses to group breakpoints by type. If this 
-  attribute is not specified on a breakpoint extension, the breakpoints are considered 
-  to not have a type, and will be displayed in the &quot;Others&quot; group.</p>
-<h3>Logical Structure Providers</h3>
-<p>Logical structures have been enhanced to allow clients to more easily contribute 
-  more than one logical structure for a given value. The new extension point <code>logicalStructureProviders</code> 
-  allows clients to contribute an implementation of an <code>ILogicalStrugureProvider</code>. 
-  A logical structure provider provides a simple way to contribute a single factory 
-  of logical structures for a debug model.</p>
-<p>In addition the optional interface <code>ILogicalStructureTypeDelegate2</code> 
-  has been added to allow a logical structure delegate to provide a dynamic label 
-  for a value's logical structure type.</p>
-<h3>Process Console Enhancements</h3>
-<p>The debug console has been enhanced to allow output to be multiplexed between 
-  the console and/or a file. As well, the encoding used to translate output to 
-  characters can now be specified. All of these options are available to the user 
-  on the &quot;Common&quot; launch configuration tab. As well, the options are 
-  available programmatically as launch configuration attributes. The following 
-  attributes have been added to <code>org.eclipse.debug.ui.IDebugUIConstants</code>.</p>
-<ul>
-  <li><code>ATTR_CONSOLE_ENCODING</code></li>
-  <li><code>ATTR_CAPTURE_IN_CONSOLE</code></li>
-  <li><code>ATTR_CAPTURE_IN_FILE</code></li>
-  <li><code>ATTR_APPEND_TO_FILE</code></li>
-</ul>
-<h3>Memory View</h3>
-<p>The Memory view, which was first released in 3.0 as internal API, has become 
-  public API in 3.1. See the new extension point <code>memoryRenderings</code>, 
-  and the new API package <code>org.eclipse.debug.ui.memory</code> for more information.</p>
-<h3>Parse Arguments</h3>
-<p>A convenience API method has been added to <code>DebugPlugin</code> to separate 
-  arguments in a single string into an array of arguments that can be passed to 
-  the command line for execution. See <code>DebugPlugin.parseArguments(String)</code>.</p>
-<h3>Run To Line Handler</h3>
-<p>Many debuggers implement &quot;run to line&quot; functionality by creating 
-  a breakpoint at the line a user has chosen to &quot;run to&quot;, and then resuming 
-  execution until that breakpoint is hit. A new API class, <code>RunToLineHandler</code>, 
-  has been created to simplify the task. The handler manages the &quot;skip breakpoints 
-  while performing run to line&quot; user preference as well canceling the operation 
-  if another breakpoint is hit before the &quot;run to line&quot; operation completes.</p>
-<h3>Run To Line Action Delegate</h3>
-<p>The <code>RunToLineActionDelegate</code> introduced in 3.0 can now also be 
-  contributed to a view (in 3.0 it could only be contributed to an editor). The 
-  action additionally implements <code>IViewActionDelegate</code>.</p>
-<h3>Variable Value Editors</h3>
-<p>A new extension point, <code>variableValueEditors</code>, allows debuggers 
-  to contribute custom editors for modifying a variable's value selected in the 
-  Variables view.</p>
-<h3>Launch Shortcut Keybindings</h3>
-<p>To register a key-binding for a launch shortcut, define a command with an <font face="Courier New, Courier, mono">id 
-  </font>the same as the launch shortcut <font face="Courier New, Courier, mono">id</font>, 
-  suffixed with the launch mode. For example, the id of the &quot;Java Application&quot; 
-  launch short cut is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut</font>, 
-  so the command id for launching in debug mode is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut.debug</font>. 
-  Then define a key-binding for your command.</p>
-<p>When the command is invoked via the key-binding, the selection or active editor 
-  will be used as the target for the launch shortcut's launch method. The shortcut 
-  is only invoked if the shortcut is enabled for the selection or editor.</p>
-<h3>Source Lookup/Display Facility</h3>
-<p>API methods have been added to <code>DebugUITools</code> to facilitate source 
-  lookup and display. See the methods <code>lookupSource(Object, ISourceLocator)</code> 
-  and <code>displaySource(ISourceLookupResult, IWorkbenchPage)</code>. When a 
-  source lookup result for a stack frame is displayed, the open editor is also 
-  annotated with an appropriate instruction pointer.</p>
-<h3>Watchpoints (IWatchpoint) and Images</h3>
-<p>As watchpoints are common to many debug architectures, the notion of an IWatchpoint 
-  has been added to the debug model. A watch point is a breakpoint that suspends 
-  execution when an associated variable is read and/or written. As well, default 
-  images for rendering watchpoints have been added to the debug platform.</p>
-<h3>Colors and Fonts for Debug Elements</h3>
-<p>In 3.1, debug model presentations (<code>IDebugModelPresentation</code>) may 
-  optionally implement <code>IColorProvider </code>and <code>IFontProvider </code>to 
-  override default fonts and colors for debug elements.</p>
-<h3>Inserting Elements into Debug View</h3>
-<p>The Debug view allows for debug models to insert arbitrary elements into the 
-  debug model element hierarchy. For example, the Java debugger now displays lock 
-  information directly in the view. To override the default presentation in the 
-  view, a debugger must provide an <code>IWorkbenchAdapter</code> or <code>IDeferredWorkbenchAdapter 
-  </code>for the relevant element(s). The debug platform provides default adapters 
-  for the standard debug elements.</p>
-<p>Debug elements were always required to implement <code>IAdaptable</code>, and 
-  now must be subclasses of <code>PlatformObject</code> in order for workbench 
-  adapters to be properly registered and retrieved for debug elements.</p>
-<h3>Abstract Debug Element</h3>
-<p>An abstract implementation of a debug element is provided in 3.1 - <code>DebugElement</code>. 
-  Clients implementing debug models may choose to subclass this class when implementing 
-  debug models. The class provides convenience methods for firing debug events, 
-  reporting exceptions, and retrieving adapters.</p>
-<h3>Drop to Frame Platform Action/Interface</h3>
-<p>The debug platform provides a &quot;drop to frame&quot; action and corresponding 
-  capability interface (<code>IDropToFrame</code>). Debug elements supporting 
-  the capability should implement this new interface to share the global action.</p>
-<h3>Context Menu Launching in Editors</h3>
-<p>Launching from the context menu (for example, &quot;Run As &gt; Java Application&quot;), 
-  is now available in editors (In 3.1, this was only available in the package 
-  explorer and resource navigator). To leverage this feature, the editor input 
-  associated with a executable file must have an <code>ILaunchable</code> adapter 
-  registered for it.</p>
-<h3>Support for Unregistered Launch</h3>
-<p>The launch framework allows for a launch to be performed without registering 
-  a launch object with the launch manager. An unregistered launch does not appear 
-  in the Debug view. A new launch method has been added to <code>ILaunchConfiguration</code>, 
-  accepting a boolean argument determining whether the launch should be registered 
-  (<code>launch(String mode, IProgressMonitor monitor, boolean build, boolean 
-  register)</code>), and a new method has been added to <code>ILaunchManager</code> 
-  to determine if a launch is registered (<code>isRegistered(ILaunch launch)</code>).</p>
-<h3>Reusable Breakpoint Ruler Toggle Actions</h3>
-<p>Providing double-click breakpoint creation in an editor's vertical ruler is 
-  a common feature for debuggers. The debug platform provides two actions to facilitate 
-  this: <code>RulerToggleBreakpointActionDelegate </code>and <code>ToggleBreakpointAction</code>. 
-  A debugger must contribute the <code>RulerToggleBreakpointActionDelegate</code> 
-  to the appropriate editor (see javadoc for more details), and also register 
-  an <code>IToggleBreakpointsTarget </code>adapter with the editor.</p>
-<h3>Environment Variables Case Preservation</h3>
-<p>Support has been added to <code>ILaunchManager</code> to retrieve the environment 
-  variables defined in the OS preserving case. This is important on the WIN32 
-  operating system. Although WIN32 is case insensitive, depending on what you 
-  intend to do with the environment, the lack of normalization may or may not 
-  cause problems. This method <code>getNativeEnvironmentCasePreserved()</code> returns 
-  mixed-case keys using the variable names recorded by the OS. Use <code>getNativeEnvironment()</code> 
-  instead to get a WIN32 system environment where all keys have been normalized 
-  to uppercase.</p>
-<h3>Closing an Input Stream</h3>
-<p>An optional extension, <code>IStreamsProxy2</code>, can be implemented by implementations 
-  of <code>IStreamsProxy</code>. When implemented, it allows the input stream 
-  associated with a process to be closed. This is used to allow the user to signal 
-  EOF when typing in the console.</p>
-<h3>Launch in Debug Mode when Workspace Contains Breakpoints</h3>
-<p>Since 3.0, The user preference &quot;Launch in debug mode when workspace contains 
-  breakpoints&quot; is used to control whether a launch should use debug mode 
-  even when &quot;run&quot; is pressed by the user, based on the presence of breakpoints 
-  in the workspace. A new method, <code>getBreakpoints(ILaunchConfiguration configuration)</code>, 
-  has been added to the abstract implementation of <code>LaunchConfigurationDelegate</code>, 
-  to determine which breakpoints should be considered as relevant for a particular 
-  launch. By default, all breakpoints in the workspace are considered, but subclasses 
-  may override. For example, the Java Application launcher only considers Java 
-  breakpoints.</p>
-<h3>Case Insensitive Source Lookup and Relative Paths</h3>
-<p>The debug platform's source lookup facilities now lookup source in folders 
-  and directories in a case insensitive manner on platforms that are case insensitive. 
-  As well, relative path names are supported in folders and directories.</p>
-<h2>Changes</h2>
-<h3>Debug Event Dispatch</h3>
-<p>In releases 3.0 and prior, calling <code>DebugPlugin.fireDebugEventSet(DebugEvent[])</code> 
-  resulted in debug events being fired synchronously in the calling thread. In 
-  3.1, debug event set listeners are notified of debug events asynchronously in 
-  a different thread than the event is reported in.</p>
-<h3>Debug Actions and Content in Background Jobs</h3>
-<p>In 3.1, many actions that call debug element APIs (like &quot;stepOver&quot;), 
-  now create jobs to communicate with debug elements in background threads. This 
-  avoids blocking the UI in the case that a debug element method requires communication 
-  with a debug target that can block, hang, or timeout. Similarly, many of the 
-  debug views populate their content using background jobs to avoid blocking the 
-  UI thread. The net difference is that in 3.1, more than one thread might be 
-  accessing a debug model's APIs where previously only the UI thread was.</p>
-<h3>Contextual Launch from Top Level Run/Debug Menus</h3>
-<p>The top level menus no longer support the perspective element, and launch shortcuts 
-  must specify a &quot;<code>contextualLaunch</code>&quot; element to appear in 
-  the Run/Debug cascade menus.</p>
-<p>&nbsp;</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/schema/breakpoints.exsd b/org.eclipse.debug.core/schema/breakpoints.exsd
deleted file mode 100644
index 0c076e8..0000000
--- a/org.eclipse.debug.core/schema/breakpoints.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="breakpoints" name="Breakpoints"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a mechanism for defining new types of breakpoints.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="breakpoint" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="breakpoint">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this breakpoint type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="markerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified identifier (id) of the corresponding marker definition for breakpoints of this type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;IBreakpoint&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.Breakpoint"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  specifies a user-presentable name for this breakpoint type. For example, &quot;Java Line Breakpoint&quot;. This attribute was added in 3.1 to support automatic grouping of breakpoints by breakpoint type. When this attribute is unspecified, breakpoints of this type cannot be automatically grouped by type.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.breakpoints&quot;&gt;
-  &lt;breakpoint
-   id=&quot;com.example.ExampleBreakpoint&quot;
-   markerType=&quot;com.example.ExampleBreakpointMarker&quot;
-   class=&quot;com.example.ExampleBreakpointImpl&quot;&gt;
-  &lt;/breakpoint&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of breakpoint is implemented by the class &quot;com.example.BreakpointImpl&quot;.
-There is an associated marker definition for &quot;com.example.ExampleBreakpointMarker&quot;, defining the attributes of this breakpoint.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IBreakpoint&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd b/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
deleted file mode 100644
index d0fe6b0..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationComparators" name="Launch Configuration Comparators"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a configurable mechanism for comparing specific attributes of a launch configuration.
-In general, launch configuration attributes can be compared for equality via the default implementation of &lt;samp&gt;java.lang.Object.equals(Object)&lt;/samp&gt;.
-However, attributes that require special handling should implement this extension point.
-For example, when an attribute is stored as XML, it is possible that two strings representing an equivalent attribute have different whitespace formatting.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationComparator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchConfigurationComparator">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="attribute" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the launch configuration attribute name that this comparator compares.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully-qualified name of a class that implements &lt;code&gt;java.util.Comparator&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.util.Comparator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration comparator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchConfigurationComparators&quot;&gt;
-  &lt;launchConfigurationComparator
-   id=&quot;com.example.ExampleIdentifier&quot;
-   attribute=&quot;com.example.ExampleAttributeName&quot;
-   class=&quot;com.example.ComparatorImplementation&quot;&gt;
-  &lt;/launchConfigurationComparator&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name &lt;samp&gt;com.example.ExampleAttributeName&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully-qualified name of a Java class that implements the interface &lt;b&gt;java.util.Comparator&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd b/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
deleted file mode 100644
index 954f899..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationTypes" name="Launch Configuration Types"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a configurable mechanism for launching applications.
-Each launch configuration type has a name, supports one or more modes (run and/or debug), and specifies a delegate
-responsible for the implementation of launching an application.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationType" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchConfigurationType">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fileExtension" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="delegate" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;ILaunchConfigurationDelegate&lt;/code&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a comma-separated list of the modes this type of lauch configuration supports - &quot;run&quot; and/or &quot;debug&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a human-readable name for this type of launch configuration.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type is accessible by users.  Defaults to &lt;code&gt;true&lt;/code&gt; if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that specifies this launch configuration type&apos;s category. The default value is unspecified (&lt;code&gt;null&lt;/code&gt;). Categories are client defined. This attribute was added in the 2.1 release.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourcePathComputerId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourcePathComputer extension that is used to compute a default source lookup path for launch configurations of this type. This atttribute was added in the 3.0 release.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceLocatorId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourceLocator extension that is used to create the source locator for sessions launched using launch configurations of this type. This atttribute was added in the 3.0 release.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fileExtension">
-      <complexType>
-         <attribute name="extension" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a file extension that this launch configuration type can be used for.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="default" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type should be the default launch configuration type for the specified file extension.  Defaults to &lt;code&gt;false&lt;/code&gt; if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchConfigurationTypes&quot;&gt;
-  &lt;launchConfigurationType
-   id=&quot;com.example.ExampleIdentifier&quot;
-   delegate=&quot;com.example.ExampleLaunchConfigurationDelegate&quot;
-   modes=&quot;run,debug&quot;
-   name=&quot;Example Application&quot;&gt;
-   &lt;fileExtension extension=&quot;txt&quot; default=&quot;true&quot;/&gt;
-   &lt;fileExtension extension=&quot;gif&quot; default=&quot;false&quot;/&gt;
-  &lt;/launchConfigurationType&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of launch configuration supports both run and debug modes. 
-The launch configuration is applicable to .txt and .gif files, and is the default launch configuration for .txt files.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;delegate&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.ILaunchConfigurationDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchDelegates.exsd b/org.eclipse.debug.core/schema/launchDelegates.exsd
deleted file mode 100644
index 8e9271c..0000000
--- a/org.eclipse.debug.core/schema/launchDelegates.exsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchDelegates" name="Launch Delegates"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing a launch delegate to an existing launch configuration type for one or more launch modes. Since launch modes are extensible, it may be neccessary to contribute additional launch delegates to an existing launch configuration type. Each launch delegate is contributed for a specific launch configuration type. A launch delegate supports one or more launch modes, and specifies a delegate responsible for the implementation of launching.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchDelegate" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchDelegate">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch delegate.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="delegate" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;ILaunchConfigurationDelegate&lt;/code&gt;.
-Launch configuration instances of this delegate&apos;s type will delegate to instances of this class to perform launching.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a comma-separated list of the modes this lauch delegate supports.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  identifier of an existing launch configuration type that this launch delegate is capable of launching.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourcePathComputerId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourcePathComputer extension that is used to compute a default source lookup path for launch configurations of this type. Since 3.1, this attribute cab be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source path computer can be specified per launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceLocatorId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourceLocator extension that is used to create the source locator for sessions launched using launch configurations of this type. Since 3.1, this attribute can be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source locater can be specified per launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch delegate extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchDelegates&quot;&gt;
-  &lt;launchDelegate
-   id=&quot;com.example.ExampleProfileDelegate&quot;
-   delegate=&quot;com.example.ExampleProfileDelegate&quot;
-   type=&quot;org.eclipse.jdt.launching.localJavaApplication&quot;
-   modes=&quot;profile&quot;&gt;
-  &lt;/launchDelegate&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified launch delegate is contributed to launch Java applications in profile mode.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;delegate&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.ILaunchConfigurationDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchModes.exsd b/org.eclipse.debug.core/schema/launchModes.exsd
deleted file mode 100644
index aa3628e..0000000
--- a/org.eclipse.debug.core/schema/launchModes.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="launchModes" name="Launch Modes"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for contributing launch modes to the debug platform. The debug platform defines modes for &quot;run&quot;, &quot;debug&quot;, and &quot;profile&quot;.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="launchMode">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this launch mode. The launch modes contributed by the debug plaform are &quot;run&quot;, &quot;debug&quot;, and &quot;profile&quot;.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A human-readable label that describes the launch mode

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a launch delegate extension point:

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;

-  &lt;launchMode

-   mode=&quot;profile&quot;

-   label=&quot;Profile&quot;&gt;

-  &lt;/launchMode&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the profile launch mode is contributed.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/launchers.exsd b/org.eclipse.debug.core/schema/launchers.exsd
deleted file mode 100644
index 3140bb7..0000000
--- a/org.eclipse.debug.core/schema/launchers.exsd
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchers" name="Launcher (Obsolete)"/>
-      </appInfo>
-      <documentation>
-         This extension point has been replaced by the launchConfigurationTypes extension point. Extensions of this type are obsolete as of release 2.0 and are ignored. This extension point was used to contribute launchers. 
-A launcher was responsible for initiating a debug session 
-or running a program and registering the result with the 
-launch manager.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launcher" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launcher">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference 
-this launcher.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of the Java class that implements 
-&lt;code&gt;org.eclipse.debug.core.model.ILauncherDelegate&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILauncherDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A comma separated list of modes this launcher supports. 
-The two supported modes are &quot;run&quot; and &quot;debug&quot; - 
-as defined in &lt;code&gt;org.eclipse.debug.core.ILaunchManager&lt;/code&gt;. 
-A launcher may be capable of launching in one or both modes.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a label to use for the launcher. This attribute is used by the debug UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="wizard" type="string">
-            <annotation>
-               <documentation>
-                  fully qualified name of the class that implements 
-&lt;code&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/code&gt;. 
-This attribute is used by the debug UI. A launcher 
-may contribute a wizard that allows users to configure 
-and launch specific attributes.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.debug.ui.ILaunchWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  whether a launcher is publically visible in the debug UI.
-If &lt;code&gt;true&lt;/code&gt;,  the launcher will be available from the 
-debug UI - the launcher will appear as a choice 
-for a default launcher, launches created by this 
-launcher will appear in the launch history, and the 
-launcher will be available from the drop-down run/debug 
-toolbar actions.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a description of the launcher.  Currently only used 
-if the wizard attribute is specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="perspective" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the perspective that will be switched 
-to on a successful launch.  Default value is the 
-identifier for the debug perspective. This attribute 
-is used by the debug UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon that will represent the launcher 
-in the UI if specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launcher extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-      point = &quot;org.eclipse.debug.core.launchers&quot;&gt; 
-         &lt;launcher 
-             id = &quot;com.example.ExampleLauncher&quot;
-             class = &quot;com.example.launchers.ExampleLauncher&quot; 
-             modes = &quot;run, debug&quot;
-        label = &quot;Example Launcher&quot;
-      wizard = &quot;com.example.launchers.ui.ExampleLaunchWizard&quot;     
-      public = &quot;true&quot;
-      description = &quot;Launches example programs&quot;
-      perspective= &quot;com.example.JavaPerspective&quot;&gt;  
-         &lt;/launcher&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the specified launcher supports 
-both run and debug modes. Following a successful launch, 
-the debug UI will change to the Java perspective. When 
-the debug UI presents the user with a list of launchers 
-to choose from, &quot;Example Launcher&quot; will appear as one of 
-the choices with the &quot;Launches example programs&quot; as the 
-description, and the wizard specified by 
-&lt;samp&gt;com.example.launchers.ui.ExampleLaunchWizard&lt;/samp&gt;
-will be used to configure any launch specific details.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;samp&gt;class&lt;/samp&gt; must be a fully 
-qualified class name of a Java class that implements 
-the interface 
-&lt;samp&gt;org.eclipse.debug.core.ILauncherDelegate&lt;/samp&gt;. 
-Value of the attribute &lt;samp&gt;wizard&lt;/samp&gt; must be a 
-fully qualified class name of a Java class that 
-implements &lt;samp&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/logicalStructureProviders.exsd b/org.eclipse.debug.core/schema/logicalStructureProviders.exsd
deleted file mode 100644
index d3a2fff..0000000
--- a/org.eclipse.debug.core/schema/logicalStructureProviders.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="logicalStructureProviders" name="Logical Structure Providers"/>
-      </appInfo>
-      <documentation>
-         This extension point allows contributors to provide multiple logical structure types for a value.
-This is an extension of the logical structure support provided by the extension point &lt;code&gt;org.eclipse.debug.core.logicalStructureTypes&lt;/code&gt;, which allows one logical structure type per value.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="logicalStructureProvider" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="logicalStructureProvider">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of a Java class that implements &lt;code&gt;ILogicalStructureProvider&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.internal.core.ILogicalStructureProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modelIdentifier" type="string" use="required">
-            <annotation>
-               <documentation>
-                  identifier of the debug model this logical structure provider is associated with
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a logical structure type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureProviders&quot;&gt;
-  &lt;logicalStructureProvider
-   class=&quot;com.example.ExampleLogicalStructureProvider&quot;
-   modelIdentifier=&quot;com.example.debug.model&quot;&gt;
-  &lt;/logicalStructureProvider&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified logical structure provider will be consulted for alternative logical structures for values from the &lt;code&gt;com.example.debug.model&lt;/code&gt; debug model as they are displayed in the variables view.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.ILogicalStructureProvider&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd b/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
deleted file mode 100644
index 242bd7e..0000000
--- a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="logicalStructureTypes" name="Logical Structure Types"/>

-      </appInfo>

-      <documentation>

-         This extension point allows debuggers to present alternative logical structures of values. Often, complex data structures are more convenient to navigate in terms of their logical structure, rather than in terms of their implementation. For example, no matter how a list is implemented (linked, array, etc.), a user may simply want to see the elements in the list in terms of an ordered collection. This extension point allows the contribution of logical structure types, to provide translations from a raw implementation value to a logical value.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="logicalStructureType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a unique identifier for this logical structure type

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  a description of this logical structure. Since 3.1, this attribute is optional. When unspecified, a logical structure type delegate must also implement &lt;code&gt;ILogicalStructureTypeDelegate2&lt;/code&gt; to provide descriptions for values that logical structures are provided for.

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  fully qualified name of a Java class that implements &lt;code&gt;ILogicalStructureTypeDelegate&lt;/code&gt;. The class may optionally implement &lt;code&gt;ILogicalStructureTypeDelegate2&lt;/code&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILogicalStructureTypeDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  identifier of the debug model this logical structure type is associated with

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a logical structure type extension point:

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureTypes&quot;&gt;

-  &lt;logicalStructureType

-   id=&quot;com.example.ExampleLogicalStructure&quot;

-   class=&quot;com.example.ExampleLogicalStructureDelegate&quot;

-   modelIdentifier=&quot;com.example.debug.model&quot;

-   description=&quot;Ordered Collection&quot;&gt;

-  &lt;/logicalStructureType&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the specified logical structure type will be consulted for alternative logical values for values from the &lt;code&gt;com.example.debug.model&lt;/code&gt; debug model as they are displayed in the variables view.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.ILogicalStructureTypeDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/processFactories.exsd b/org.eclipse.debug.core/schema/processFactories.exsd
deleted file mode 100644
index 8f5106f..0000000
--- a/org.eclipse.debug.core/schema/processFactories.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="processFactories" name="Process Factories"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for specifying a process factory to be used with a launch configuration to create the appropriate instance of &lt;b&gt;IProcess&lt;/b&gt;.

-      The launch configuration will require the &lt;b&gt;DebugPlugin.ATTR_PROCESS_FACTORY_ID&lt;/b&gt; attribute set to the appropriate process factory ID that will be

-      used to create the &lt;b&gt;IProcess&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="processFactory">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this process factory.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;IProcessFactory&lt;/code&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.IProcessFactory"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a process factory extension point:

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.debug.core.processFactories&quot;&gt;

-  &lt;processFactory

-       id=&quot;com.example.ExampleIdentifier&quot;

-       class=&quot;com.example.ExampleProcessFactory&quot;&gt;

-  &lt;/processFactory&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.IProcessFactory&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/sourceContainerTypes.exsd b/org.eclipse.debug.core/schema/sourceContainerTypes.exsd
deleted file mode 100644
index 5965579..0000000
--- a/org.eclipse.debug.core/schema/sourceContainerTypes.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="sourceContainerTypes" name="Source Container Types"/>

-      </appInfo>

-      <documentation>

-         This extension point allows for an extensible set of source container types to be contributed by the debug platform

-         source lookup facilities.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="sourceContainerType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique id used to refer to this type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The name of this source container type used for presentation purposes.

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A class that implements &lt;code&gt;ISourceContainerTypeDelegate&lt;/code&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  A short description of this source container for presentation purposes.

-               </documentation>

-               <appInfo>

-                  <meta.attribute translatable="true"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a source container type definition:

-&lt;pre&gt;

-&lt;extension point=&quot;org.eclipse.debug.core.sourceContainerTypes&quot;&gt;

- &lt;sourceContainerType

-  name=&quot;Project&quot;

-  class=&quot;org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType&quot;

-  id=&quot;org.eclipse.debug.core.containerType.project&quot;

-  description=&quot;A project in the workspace&quot;&gt;

- &lt;/sourceContainerType&gt;

-&lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;ISourceContainerType&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/sourceLocators.exsd b/org.eclipse.debug.core/schema/sourceLocators.exsd
deleted file mode 100644
index f06ee77..0000000
--- a/org.eclipse.debug.core/schema/sourceLocators.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="sourceLocators" name="Source Locators"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism specifying a source locator to be used with a launch configuration.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="sourceLocator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="sourceLocator">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this source locator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;IPersistableSourceLocator&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.IPersistableSourceLocator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human-readable name, describing the type of this source locator.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a source locator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.sourceLocators&quot;&gt;
-  &lt;sourceLocator
-   id=&quot;com.example.ExampleIdentifier&quot;
-   class=&quot;com.example.ExampleSourceLocator&quot;
-   name=&quot;Example Source Locator&quot;&gt;
-  &lt;/sourceLocator&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IPersistableSourceLocator&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/sourcePathComputers.exsd b/org.eclipse.debug.core/schema/sourcePathComputers.exsd
deleted file mode 100644
index 48f8289..0000000
--- a/org.eclipse.debug.core/schema/sourcePathComputers.exsd
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="sourcePathComputers" name="Source Path Computers"/>

-      </appInfo>

-      <documentation>

-         Defines an extension point to register a computer that can describe a default source lookup path for

-         a launch configuration. Source path computers are associated with launch configuration types via the

-         launchConfigurationTypes extension point. As well, a source path computer can be associated with a

-         specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="sourcePathComputer">

-      <annotation>

-         <documentation>

-            Defines an extension point to register a computer that can describe a default source lookup path

-            for a launch configuration.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique id used to refer to this computer.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A class that implements &lt;code&gt;ISourcePathComputerDelegate&lt;/code&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.internal.core.sourcelookup.ISourcePathComputerDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Following is an example source path computer definition:

-&lt;pre&gt;

-   &lt;extension point=&quot;org.eclipse.debug.core.sourcePathComputers&quot;&gt;

-     &lt;sourcePathComputer

-      id=&quot;org.eclipse.example.exampleSourcePathComputer&quot;

-      class=&quot;org.eclipse.example.SourcePathComputer&quot;&gt;

-     &lt;/sourcePathComputer&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;ISourcePathComputer&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/statusHandlers.exsd b/org.eclipse.debug.core/schema/statusHandlers.exsd
deleted file mode 100644
index a2feb31..0000000
--- a/org.eclipse.debug.core/schema/statusHandlers.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="statusHandlers" name="Status Handlers"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for separating the generation and resolution of an error.
-The interaction between the source of the error and the resolution is client-defined.
-It is a client responsibility to look up and delegate to status handlers when an error condition occurs.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="statusHandler" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="statusHandler">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this status handler.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;IStatusHandler&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.IStatusHandler"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="plugin" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Plug-in identifier that corresponds to the plug-in of the status this handler is registered for.  (i.e. &lt;code&gt;IStatus.getPlugin()&lt;/code&gt;).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="code" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the status code this handler is registered for.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a status handler extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.statusHandlers&quot;&gt;
-  &lt;statusHandler
-   id=&quot;com.example.ExampleIdentifier&quot;
-   class=&quot;com.example.ExampleStatusHandler&quot;
-   plugin=&quot;com.example.ExamplePluginId&quot;
-   code=&quot;123&quot;&gt;
-  &lt;/statusHandler&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified status handler will be registered for to handle status objects with a plug-in identifier of 
-&lt;samp&gt;com.example.ExamplePluginId&lt;/samp&gt; and a status code of &lt;samp&gt;123&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.IStatusHandler&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/watchExpressionDelegates.exsd b/org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
deleted file mode 100644
index 15a60dc..0000000
--- a/org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.core" id="watchExpressionDelegates" name="watchExpressionDelegates"/>

-      </appInfo>

-      <documentation>

-         This extension provides a mechanism for providing delegates to evaluate watch expressions on a per debug model basis. Watch expression delegates perform evaluations for watch expressions and report the results asynchronously.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="watchExpressionDelegate">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies the id of the debug model that this delegate provides evaluations for

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a Java class which implements &lt;code&gt;org.eclipse.debug.core.model.IWatchExpressionDelegate&lt;/code&gt;, which is used to evaluate the value of an expression.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.IWatchExpressionDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-The following is the definition of a watch expression delegate for the com.example.foo plug-in:

- &lt;extension point=&quot;org.eclipse.debug.core.watchExpressionDelegates&quot;&gt;

-   &lt;watchExpressionDelegate

-     debugModel=&quot;org.eclipse.jdt.debug&quot;

-     delegateClass=&quot;org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate&quot;/&gt;

-  &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;delegateClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IWatchExpressionDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/scripts/exportplugin.xml b/org.eclipse.debug.core/scripts/exportplugin.xml
deleted file mode 100644
index c29eada..0000000
--- a/org.eclipse.debug.core/scripts/exportplugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.debug.core Eclipse plugin
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export debug.core" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.debug.core_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/dtcore.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/dtcoresrc.zip">
-			<fileset dir="core"/>
-		</zip>		
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.externaltools/.classpath b/org.eclipse.ui.externaltools/.classpath
deleted file mode 100644
index 8aa394d..0000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="External Tools Base"/>

-	<classpathentry kind="src" path="Program Tools Support"/>

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

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

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

-</classpath>
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/.cvsignore b/org.eclipse.ui.externaltools/.cvsignore
deleted file mode 100644
index 1fb8f5b..0000000
--- a/org.eclipse.ui.externaltools/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin

-externaltools.jar

-build.xml

-temp.folder

diff --git a/org.eclipse.ui.externaltools/.project b/org.eclipse.ui.externaltools/.project
deleted file mode 100644
index 28c5bcf..0000000
--- a/org.eclipse.ui.externaltools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.externaltools</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/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3c5515b..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 18:53:31 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=disabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 4c5630d..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:50 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
deleted file mode 100644
index 0725e16..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.externaltools.internal.model.BuilderUtils;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.ide.IDE;
-
-public class ExternalToolsBuilderTab extends AbstractLaunchConfigurationTab {
-
-	protected Button afterClean;
-	protected Button fDuringClean;
-	protected Button autoBuildButton;
-	protected Button manualBuild;
-	protected Button workingSetButton;
-	protected Button specifyResources;
-	protected Button fLaunchInBackgroundButton;
-	protected IWorkingSet workingSet; 
-	protected ILaunchConfiguration fConfiguration;
-	
-    private boolean fCreateBuildScheduleComponent= true;
-    
-    public ExternalToolsBuilderTab() {
-    }
-    
-    public ExternalToolsBuilderTab(boolean createBuildScheduleComponent) {
-        fCreateBuildScheduleComponent= createBuildScheduleComponent;
-    }
-    
-	protected SelectionListener selectionListener= new SelectionAdapter() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			boolean enabled= !fCreateBuildScheduleComponent || autoBuildButton.getSelection() || manualBuild.getSelection();
-			workingSetButton.setEnabled(enabled);
-			specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-			updateLaunchConfigurationDialog();
-		}
-	};
-
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 2;
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createLaunchInBackgroundComposite(mainComposite);
-        createVerticalSpacer(mainComposite, 2);
-		createBuildScheduleComponent(mainComposite);
-		
-	}
-	
-	/**
-	 * Creates the controls needed to edit the launch in background
-	 * attribute of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createLaunchInBackgroundComposite(Composite parent) {
-		fLaunchInBackgroundButton = createCheckButton(parent, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_14);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fLaunchInBackgroundButton.setLayoutData(data);
-		fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-	
-	protected void createBuildScheduleComponent(Composite parent) {
-        if (fCreateBuildScheduleComponent) {
-    		Label label= new Label(parent, SWT.NONE);
-    		label.setText(ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_Run_this_builder_for__1);
-    		label.setFont(parent.getFont());
-    		afterClean= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab__Full_builds_2, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_Full, 2);
-    		manualBuild= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab__Incremental_builds_4, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_Inc, 2);
-    		autoBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab__Auto_builds__Not_recommended__6, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_Auto, 2);  
-    		fDuringClean= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_0, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_1, 2);
-    		
-    		createVerticalSpacer(parent, 2);
-        }
-		
-		workingSetButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_workingSet_label, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_workingSet_tooltip, 1);
-		specifyResources= createPushButton(parent, ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_13, null);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		specifyResources.setLayoutData(gd);
-		specifyResources.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectResources();
-			}
-		});
-        Label label= new Label(parent, SWT.NONE);
-        label.setText(ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_2);
-        label.setFont(parent.getFont());
-	}
-	
-	/*
-	 * Creates a check button in the given composite with the given text
-	 */
-	protected Button createButton(Composite parent, SelectionListener listener, String text, String tooltipText, int columns) {
-		Button button= createCheckButton(parent, text);
-		button.setToolTipText(tooltipText);
-		button.addSelectionListener(listener);
-        GridData gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = columns;
-		button.setLayoutData(gd);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-		buffer.append(',');
-		buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-		buffer.append(','); 
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-		configuration.setAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fConfiguration= configuration;
-        if (fCreateBuildScheduleComponent) {
-            afterClean.setSelection(false);
-            manualBuild.setSelection(false);
-            autoBuildButton.setSelection(false);
-            fDuringClean.setSelection(false);
-        }
-
-		String buildKindString= null;
-		String buildScope= null;
-		try {
-			buildKindString= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""); //$NON-NLS-1$
-			buildScope= configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		} catch (CoreException e) {
-		}
-		
-		workingSetButton.setSelection(buildScope != null);
-		workingSetButton.setEnabled(buildScope != null);
-		
-		if (buildScope != null) {
-			workingSet = RefreshTab.getWorkingSet(buildScope);
-		}
-		
-        if (fCreateBuildScheduleComponent) {
-    		int buildTypes[]= BuilderUtils.buildTypesToArray(buildKindString);
-    		for (int i = 0; i < buildTypes.length; i++) {
-    			switch (buildTypes[i]) {
-    				case IncrementalProjectBuilder.FULL_BUILD:
-    					afterClean.setSelection(true);
-    					break;
-    				case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-    					manualBuild.setSelection(true);
-    					break;
-    				case IncrementalProjectBuilder.AUTO_BUILD:
-    					autoBuildButton.setSelection(true);
-    					break;
-    				case IncrementalProjectBuilder.CLEAN_BUILD:
-    					fDuringClean.setSelection(true);
-    					break;
-    			}
-    		}
-        }
-        
-		boolean enabled= true;
-		if (fCreateBuildScheduleComponent) {
-			enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
-		}
-		workingSetButton.setEnabled(enabled);
-		specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-		updateRunInBackground(configuration);
-	}
-	
-	protected void updateRunInBackground(ILaunchConfiguration configuration) { 
-		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
-	}
-	
-	/**
-	 * Returns whether the given configuration should be run in the background.
-	 * 
-	 * @param configuration the configuration
-	 * @return whether the configuration is configured to run in the background
-	 */
-	public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
-		boolean launchInBackground= false;
-		try {
-			launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ce);
-		}
-		return launchInBackground;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-        if (fCreateBuildScheduleComponent) {
-		StringBuffer buffer= new StringBuffer();
-    		if (afterClean.getSelection()) {
-    			buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
-    		} 
-    		if (manualBuild.getSelection()){
-    			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(','); 
-    		} 
-    		if (autoBuildButton.getSelection()) {
-    			buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
-    		}
-    		
-    		if (fDuringClean.getSelection()) {
-    			buffer.append(IExternalToolConstants.BUILD_TYPE_CLEAN);
-    		}
-    		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-        }
-		if (workingSetButton.getSelection()) {
-			String scope = RefreshTab.getRefreshAttribute(workingSet);
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, scope);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		}
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, fLaunchInBackgroundButton.getSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_Build_Options_9;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		if (fCreateBuildScheduleComponent) {
-		    boolean buildKindSelected= afterClean.getSelection() || manualBuild.getSelection() || autoBuildButton.getSelection() || fDuringClean.getSelection();
-    		if (!buildKindSelected) {
-    			setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_buildKindError);
-    			return false;
-    		}
-        }
-		if (workingSetButton.getSelection() && (workingSet == null || workingSet.getElements().length == 0)) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_16);
-            return false;
-		}
-		
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return isValid(null);
-	}
-
-	/**
-	 * Prompts the user to select the working set that triggers the build.
-	 */
-	private void selectResources() {
-		IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-		
-		if (workingSet == null){
-			workingSet = workingSetManager.createWorkingSet(ExternalToolsLaunchConfigurationMessages.ExternalToolsBuilderTab_15, new IAdaptable[0]);
-		}
-		IWorkingSetEditWizard wizard= workingSetManager.createWorkingSetEditWizard(workingSet);
-		WizardDialog dialog = new WizardDialog(ExternalToolsPlugin.getStandardDisplay().getActiveShell(), wizard);
-		dialog.create();		
-		
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		workingSet = wizard.getSelection();
-		updateLaunchConfigurationDialog();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on activation
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on deactivation
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
deleted file mode 100644
index 17fc7cd..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ExternalToolsLaunchConfigurationMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsLaunchConfigurationMessages";//$NON-NLS-1$
-
-	public static String ExternalToolsMainTab__Location___2;
-	public static String ExternalToolsMainTab__Browse_Workspace____3;
-	public static String ExternalToolsMainTab_Brows_e_File_System____4;
-	public static String ExternalToolsMainTab_Working__Directory__5;
-	public static String ExternalToolsMainTab_Browse_Wor_kspace____6;
-	public static String ExternalToolsMainTab_Browse_F_ile_System____7;
-	public static String ExternalToolsMainTab_Error_reading_configuration_10;
-	public static String ExternalToolsMainTab__Main_17;
-	public static String ExternalToolsMainTab_External_tool_location_cannot_be_empty_18;
-	public static String ExternalToolsMainTab_External_tool_location_does_not_exist_19;
-	public static String ExternalToolsMainTab_External_tool_location_specified_is_not_a_file_20;
-	public static String ExternalToolsMainTab_External_tool_working_directory_does_not_exist_or_is_invalid_21;
-	public static String ExternalToolsMainTab_Select_a_resource_22;
-	public static String ExternalToolsMainTab_23;
-	public static String ExternalToolsMainTab__Arguments___1;
-	public static String ExternalToolsMainTab_Varia_bles____2;
-	public static String ExternalToolsMainTab_3;
-	public static String ExternalToolsMainTab_Error_reading_configuration_7;
-	public static String ExternalToolsMainTab_Not_a_directory;
-	public static String ExternalToolsMainTab_30;
-	public static String ExternalToolsMainTab_31;
-	public static String ExternalToolsMainTab_32;
-
-	public static String ExternalToolsUtil_Location_not_specified_by__0__1;
-	public static String ExternalToolsUtil_invalidLocation__0_;
-	public static String ExternalToolsUtil_invalidDirectory__0_;
-
-	public static String ExternalToolsBuilderTab_Run_this_builder_for__1;
-	public static String ExternalToolsBuilderTab__Full_builds_2;
-	public static String ExternalToolsBuilderTab_Full;
-	public static String ExternalToolsBuilderTab__Incremental_builds_4;
-	public static String ExternalToolsBuilderTab_Inc;
-	public static String ExternalToolsBuilderTab__Auto_builds__Not_recommended__6;
-	public static String ExternalToolsBuilderTab_Auto;
-	public static String ExternalToolsBuilderTab_Build_Options_9;
-	public static String ExternalToolsBuilderTab_workingSet_label;
-	public static String ExternalToolsBuilderTab_workingSet_tooltip;
-	public static String ExternalToolsBuilderTab_buildKindError;
-	public static String ExternalToolsBuilderTab_14;
-	public static String ExternalToolsBuilderTab_13;
-	public static String ExternalToolsBuilderTab_16;
-	public static String ExternalToolsBuilderTab_15;
-	public static String ExternalToolsBuilderTab_0;
-	public static String ExternalToolsBuilderTab_1;
-	public static String ExternalToolsBuilderTab_2;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ExternalToolsLaunchConfigurationMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
deleted file mode 100644
index b40ca51..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ExternalToolsMainTab__Location___2=&Location:
-ExternalToolsMainTab__Browse_Workspace____3=Browse Works&pace...
-ExternalToolsMainTab_Brows_e_File_System____4=Brows&e File System...
-ExternalToolsMainTab_Working__Directory__5=Working &Directory:
-ExternalToolsMainTab_Browse_Wor_kspace____6=Browse Wor&kspace...
-ExternalToolsMainTab_Browse_F_ile_System____7=Browse File Syste&m...
-ExternalToolsMainTab_Error_reading_configuration_10=Error reading configuration
-ExternalToolsMainTab__Main_17=Main
-ExternalToolsMainTab_External_tool_location_cannot_be_empty_18=External tool location cannot be empty
-ExternalToolsMainTab_External_tool_location_does_not_exist_19=External tool location does not exist
-ExternalToolsMainTab_External_tool_location_specified_is_not_a_file_20=External tool location specified is not a file
-ExternalToolsMainTab_External_tool_working_directory_does_not_exist_or_is_invalid_21=External tool working directory does not exist or is invalid
-ExternalToolsMainTab_Select_a_resource_22=Select a resource:
-ExternalToolsMainTab_23=Select a working directory:
-ExternalToolsMainTab__Arguments___1=&Arguments:
-ExternalToolsMainTab_Varia_bles____2=Variable&s...
-ExternalToolsMainTab_3=Note: Enclose an argument containing spaces using double-quotes (\").
-ExternalToolsMainTab_Error_reading_configuration_7=Error reading configuration
-ExternalToolsMainTab_Not_a_directory=The specified location is not a directory
-ExternalToolsMainTab_30=Please specify the location of the external tool you would like to configure.
-ExternalToolsMainTab_31=Var&iables...
-ExternalToolsMainTab_32=Varia&bles...
-
-ExternalToolsUtil_Location_not_specified_by__0__1=Location not specified by {0}
-ExternalToolsUtil_invalidLocation__0_ = The file does not exist for the external tool named {0}.
-ExternalToolsUtil_invalidDirectory__0_ = The working directory {0} does not exist for the external tool named {1}.
-
-ExternalToolsBuilderTab_Run_this_builder_for__1=Run the builder:
-ExternalToolsBuilderTab__Full_builds_2=A&fter a \"Clean\"
-ExternalToolsBuilderTab_Full=Runs on the first build that occurs after a clean.
-ExternalToolsBuilderTab__Incremental_builds_4=&During manual builds
-ExternalToolsBuilderTab_Inc=Runs whenever the user invokes a build (but not for auto-build).
-ExternalToolsBuilderTab__Auto_builds__Not_recommended__6=During a&uto builds
-ExternalToolsBuilderTab_Auto=Runs whenever a resource in the workspace is modified if autobuilding is enabled. Enabling this option should be paired with a specifying a resource working set.
-ExternalToolsBuilderTab_Build_Options_9=&Build Options
-ExternalToolsBuilderTab_workingSet_label=Specify working set of &relevant resources
-ExternalToolsBuilderTab_workingSet_tooltip=The working set of resources that if changed from a manual or auto build will trigger the external tool builder
-ExternalToolsBuilderTab_buildKindError=At least one type of build kind must be selected
-ExternalToolsBuilderTab_14=Launch in bac&kground
-ExternalToolsBuilderTab_13=&Specify Resources...
-ExternalToolsBuilderTab_16=Must select resources in working set.
-ExternalToolsBuilderTab_15=workingSet
-ExternalToolsBuilderTab_0=During a "&Clean"
-ExternalToolsBuilderTab_1=Runs when a "clean" has been initiated
-ExternalToolsBuilderTab_2=Note: Not applied for the builds during or after a \"Clean\"
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
deleted file mode 100644
index 37c28ff..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
+++ /dev/null
@@ -1,645 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ResourceSelectionDialog;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * The external tools main tab allows the user to configure primary attributes
- * of external tool launch configurations such as the location, working directory,
- * and arguments.
- */
-public abstract class ExternalToolsMainTab extends AbstractLaunchConfigurationTab {
-	public final static String FIRST_EDIT = "editedByExternalToolsMainTab"; //$NON-NLS-1$
-
-	protected Text locationField;
-	protected Text workDirectoryField;
-	protected Button fileLocationButton;
-	protected Button workspaceLocationButton;
-	protected Button variablesLocationButton;
-	protected Button fileWorkingDirectoryButton;
-	protected Button workspaceWorkingDirectoryButton;
-	protected Button variablesWorkingDirectoryButton;
-
-	protected Text argumentField;
-	protected Button argumentVariablesButton;
-
-	protected SelectionAdapter selectionAdapter;
-	
-	protected boolean fInitializing= false;
-	private boolean userEdited= false;
-
-	protected WidgetListener fListener= new WidgetListener();
-	
-	/**
-	 * A listener to update for text modification and widget selection.
-	 */
-	protected class WidgetListener extends SelectionAdapter implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			if (!fInitializing) {
-				setDirty(true);
-				userEdited= true;
-				updateLaunchConfigurationDialog();
-			}
-		}
-		public void widgetSelected(SelectionEvent e) {
-			setDirty(true);
-			Object source= e.getSource();
-			if (source == workspaceLocationButton) {
-				handleWorkspaceLocationButtonSelected();
-			} else if (source == fileLocationButton) {
-				handleFileLocationButtonSelected();
-			} else if (source == workspaceWorkingDirectoryButton) {
-				handleWorkspaceWorkingDirectoryButtonSelected();
-			} else if (source == fileWorkingDirectoryButton) {
-				handleFileWorkingDirectoryButtonSelected();
-			} else if (source == argumentVariablesButton) {
-				handleVariablesButtonSelected(argumentField);
-			} else if (source == variablesLocationButton) {
-				handleVariablesButtonSelected(locationField);
-			} else if (source == variablesWorkingDirectoryButton) {
-				handleVariablesButtonSelected(workDirectoryField);
-			}
-		}
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		mainComposite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-
-		createLocationComponent(mainComposite);
-		createWorkDirectoryComponent(mainComposite);
-		createArgumentComponent(mainComposite);
-		createVerticalSpacer(mainComposite, 1);
-		
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Creates the controls needed to edit the location
-	 * attribute of an external tool
-	 * 
-	 * @param group the composite to create the controls in
-	 */
-	protected void createLocationComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String locationLabel = getLocationLabel();
-		group.setText(locationLabel);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;	
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		locationField = new Text(group, SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		locationField.setLayoutData(gridData);
-		locationField.addModifyListener(fListener);
-		addControlAccessibleListener(locationField, group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-        layout.marginWidth = 0;   
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab__Browse_Workspace____3, null);
-		workspaceLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceLocationButton, group.getText() + " " + workspaceLocationButton.getText()); //$NON-NLS-1$
-		
-		fileLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Brows_e_File_System____4, null);
-		fileLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileLocationButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesLocationButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_31, null);
-		variablesLocationButton.addSelectionListener(fListener);	
-		addControlAccessibleListener(variablesLocationButton, group.getText() + " " + variablesLocationButton.getText());	 //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the label used for the location widgets. Subclasses may wish to override.
-	 */
-	protected String getLocationLabel() {
-		return ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab__Location___2;
-	}
-
-	/**
-	 * Creates the controls needed to edit the working directory
-	 * attribute of an external tool
-	 * 
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createWorkDirectoryComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = getWorkingDirectoryLabel();
-		group.setText(groupName);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		workDirectoryField = new Text(group, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		workDirectoryField.setLayoutData(data);
-		workDirectoryField.addModifyListener(fListener);
-		addControlAccessibleListener(workDirectoryField,group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Browse_Wor_kspace____6, null);
-		workspaceWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceWorkingDirectoryButton, group.getText() + " " + workspaceWorkingDirectoryButton.getText()); //$NON-NLS-1$
-		
-		fileWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Browse_F_ile_System____7, null);
-		fileWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileWorkingDirectoryButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesWorkingDirectoryButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_32, null);
-		variablesWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(variablesWorkingDirectoryButton, group.getText() + " " + variablesWorkingDirectoryButton.getText()); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return the String to use as the label for the working directory field.
-	 * Subclasses may wish to override.
-	 */
-	protected String getWorkingDirectoryLabel() {
-		return ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Working__Directory__5;
-	}
-	
-	/**
-	 * Creates the controls needed to edit the argument and
-	 * prompt for argument attributes of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createArgumentComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab__Arguments___1;
-		group.setText(groupName); 
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_BOTH);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-        group.setFont(parent.getFont());
-		
-		argumentField = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		gridData.heightHint = 30;
-		argumentField.setLayoutData(gridData);
-		argumentField.addModifyListener(fListener);
-		addControlAccessibleListener(argumentField, group.getText());
-		
-		Composite composite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns= 1;
-        layout.marginHeight= 0;
-        layout.marginWidth= 0;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		composite.setLayout(layout);
-		composite.setLayoutData(gridData);
-		composite.setFont(parent.getFont());
-		
-		argumentVariablesButton= createPushButton(composite, ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Varia_bles____2, null);
-		argumentVariablesButton.addSelectionListener(fListener);
-		addControlAccessibleListener(argumentVariablesButton, argumentVariablesButton.getText()); // need to strip the mnemonic from buttons
-
-		Label instruction = new Label(group, SWT.NONE);
-		instruction.setText(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_3);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		instruction.setLayoutData(gridData);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(FIRST_EDIT, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fInitializing= true;
-		updateLocation(configuration);
-		updateWorkingDirectory(configuration);
-		updateArgument(configuration);
-		fInitializing= false;
-		setDirty(false);
-	}
-	
-	/**
-	 * Updates the working directory widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateWorkingDirectory(ILaunchConfiguration configuration) {
-		String workingDir= ""; //$NON-NLS-1$
-		try {
-			workingDir= configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Error_reading_configuration_10, ce);
-		}
-		workDirectoryField.setText(workingDir);
-	}
-	
-	/**
-	 * Updates the location widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateLocation(ILaunchConfiguration configuration) {
-		String location= ""; //$NON-NLS-1$
-		try {
-			location= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Error_reading_configuration_10, ce);
-		}
-		locationField.setText(location);
-	}
-
-	/**
-	 * Updates the argument widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateArgument(ILaunchConfiguration configuration) {
-		String arguments= ""; //$NON-NLS-1$
-		try {
-			arguments= configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Error_reading_configuration_7, ce);
-		}
-		argumentField.setText(arguments);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String location= locationField.getText().trim();
-		if (location.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-		}
-		
-		String workingDirectory= workDirectoryField.getText().trim();
-		if (workingDirectory.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, workingDirectory);
-		}
-
-		String arguments= argumentField.getText().trim();
-		if (arguments.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		}
-		
-		if(userEdited) {
-			configuration.setAttribute(FIRST_EDIT, (String)null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab__Main_17;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		boolean newConfig = false;
-		try {
-			newConfig = launchConfig.getAttribute(FIRST_EDIT, false);
-		} catch (CoreException e) {
-			//assume false is correct
-		}
-		return validateLocation(newConfig) && validateWorkDirectory();
-	}
-	
-	/**
-	 * Validates the content of the location field.
-	 */
-	protected boolean validateLocation(boolean newConfig) {
-		String location = locationField.getText().trim();
-		if (location.length() < 1) {
-			if (newConfig) {
-				setErrorMessage(null);
-				setMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_30);
-			} else {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_External_tool_location_cannot_be_empty_18);
-				setMessage(null);
-			}
-			return false;
-		}
-		
-		String expandedLocation= null;
-		try {
-			expandedLocation= resolveValue(location);
-			if (expandedLocation == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-		
-		File file = new File(expandedLocation);
-		if (!file.exists()) { // The file does not exist.
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_External_tool_location_does_not_exist_19);
-			}
-			return false;
-		}
-		if (!file.isFile()) {
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_External_tool_location_specified_is_not_a_file_20);
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Validates the variables of the given string to determine if all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @exception CoreException if a variable is specified that does not exist
-	 */
-	private void validateVaribles(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		manager.validateStringVariables(expression);
-	}
-	
-	private String resolveValue(String expression) throws CoreException {
-		String expanded= null;
-		try {
-			expanded= getValue(expression);
-		} catch (CoreException e) { //possibly just a variable that needs to be resolved at runtime
-			validateVaribles(expression);
-			return null;
-		}
-		return expanded;
-	}
-	
-	/**
-	 * Validates the value of the given string to determine if any/all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @return whether the expression contained any variable values
-	 * @exception CoreException if variable resolution fails
-	 */
-	private String getValue(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		return manager.performStringSubstitution(expression);
-	}
-
-	/**
-	 * Validates the content of the working directory field.
-	 */
-	protected boolean validateWorkDirectory() {
-		String dir = workDirectoryField.getText().trim();
-		if (dir.length() <= 0) {
-			return true;
-		}
-
-		String expandedDir= null;
-		try {
-			expandedDir= resolveValue(dir);
-			if (expandedDir == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-			
-		File file = new File(expandedDir);
-		if (!file.exists()) { // The directory does not exist.
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_External_tool_working_directory_does_not_exist_or_is_invalid_21);
-			return false;
-		}
-		if (!file.isDirectory()) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Not_a_directory);
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Prompts the user to choose a location from the filesystem and
-	 * sets the location as the full path of the selected file.
-	 */
-	protected void handleFileLocationButtonSelected() {
-		FileDialog fileDialog = new FileDialog(getShell(), SWT.NONE);
-		fileDialog.setFileName(locationField.getText());
-		String text= fileDialog.open();
-		if (text != null) {
-			locationField.setText(text);
-		}
-	}
-	
-	/**
-	 * Prompts the user for a workspace location within the workspace and sets
-	 * the location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		ResourceSelectionDialog dialog;
-		dialog = new ResourceSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_Select_a_resource_22);
-		dialog.open();
-		Object[] results = dialog.getResult();
-		if (results == null || results.length < 1) {
-			return;
-		}
-		IResource resource = (IResource)results[0];
-		locationField.setText(newVariableExpression("workspace_loc", resource.getFullPath().toString())); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Prompts the user for a working directory location within the workspace
-	 * and sets the working directory as a String containing the workspace_loc
-	 * variable or <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceWorkingDirectoryButtonSelected() {
-		ContainerSelectionDialog containerDialog;
-		containerDialog = new ContainerSelectionDialog(
-			getShell(), 
-			ResourcesPlugin.getWorkspace().getRoot(),
-			false,
-			ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_23);
-		containerDialog.open();
-		Object[] resource = containerDialog.getResult();
-		String text= null;
-		if (resource != null && resource.length > 0) {
-			text= newVariableExpression("workspace_loc", ((IPath)resource[0]).toString()); //$NON-NLS-1$
-		}
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * Returns a new variable expression with the given variable and the given argument.
-	 * @see IStringVariableManager#generateVariableExpression(String, String)
-	 */
-	protected String newVariableExpression(String varName, String arg) {
-		return VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression(varName, arg);
-	}
-	
-	/**
-	 * Prompts the user to choose a working directory from the filesystem.
-	 */
-	protected void handleFileWorkingDirectoryButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SAVE);
-		dialog.setMessage(ExternalToolsLaunchConfigurationMessages.ExternalToolsMainTab_23);
-		dialog.setFilterPath(workDirectoryField.getText());
-		String text= dialog.open();
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * A variable entry button has been pressed for the given text
-	 * field. Prompt the user for a variable and enter the result
-	 * in the given field.
-	 */
-	private void handleVariablesButtonSelected(Text textField) {
-		String variable = getVariable();
-		if (variable != null) {
-			textField.insert(variable);
-		}
-	}
-
-	/**
-	 * Prompts the user to choose and configure a variable and returns
-	 * the resulting string, suitable to be used as an attribute.
-	 */
-	private String getVariable() {
-		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-		dialog.open();
-		return dialog.getVariableExpression();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_MAIN);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/*
-	 * Fix for Bug 60163 Accessibility: New Builder Dialog missing object info for textInput controls
-	 */
-	public void addControlAccessibleListener(Control control, String controlName) {
-		//strip mnemonic (&)
-		String[] strs = controlName.split("&"); //$NON-NLS-1$
-		StringBuffer stripped = new StringBuffer();
-		for (int i = 0; i < strs.length; i++) {
-			stripped.append(strs[i]);
-		}
-		control.getAccessible().addAccessibleListener(new ControlAccessibleListener(stripped.toString()));
-	}
-	
-	private class ControlAccessibleListener extends AccessibleAdapter {
-		private String controlName;
-		ControlAccessibleListener(String name) {
-			controlName = name;
-		}
-		public void getName(AccessibleEvent e) {
-			e.result = controlName;
-		}
-		
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
deleted file mode 100644
index 4016808..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - Bug 27243 (environment variables contribution)
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Utilities for external tool launch configurations.
- * <p>
- * This class it not intended to be instantiated.
- * </p>
- */
-public class ExternalToolsUtil {
-
-	/**
-	 * Throws a core exception with an error status object built from
-	 * the given message, lower level exception, and error code.
-	 * 
-	 * @param message the status message
-	 * @param exception lower level exception associated with the
-	 *  error, or <code>null</code> if none
-	 * @param code error code
-	 */
-	protected static void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, code, message, exception));
-	}
-	
-	/**
-	 * Expands and returns the location attribute of the given launch
-	 * configuration. The location is
-	 * verified to point to an existing file, in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a file in the local file system  
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing file in the local file
-	 * system
-	 */
-	public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String) null);
-		if (location == null) {
-			abort(MessageFormat.format(ExternalToolsLaunchConfigurationMessages.ExternalToolsUtil_Location_not_specified_by__0__1, new String[] { configuration.getName()}), null, 0);
-		} else {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation == null || expandedLocation.length() == 0) {
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.ExternalToolsUtil_invalidLocation__0_, new Object[] { configuration.getName()});
-				abort(msg, null, 0);
-			} else {
-				File file = new File(expandedLocation);
-				if (file.isFile()) {
-					return new Path(expandedLocation);
-				} 
-				
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.ExternalToolsUtil_invalidLocation__0_, new Object[] { configuration.getName()});
-				abort(msg, null, 0);
-			}
-		}
-		// execution will not reach here
-		return null;
-	}
-	
-	/**
-	 * Returns a boolean specifying whether or not output should be captured for
-	 * the given configuration
-	 * 
-	 * @param configuration the configuration from which the value will be
-	 * extracted
-	 * @return boolean specifying whether or not output should be captured
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean getCaptureOutput(ILaunchConfiguration configuration) throws CoreException {
-	    return configuration.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, true);
-	}
-
-	/**
-	 * Expands and returns the working directory attribute of the given launch
-	 * configuration. Returns <code>null</code> if a working directory is not
-	 * specified. If specified, the working is verified to point to an existing
-	 * directory in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a directory in the local file system, or
-	 * <code>null</code> if unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing directory in the local
-	 * file system
-	 */
-	public static IPath getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) null);
-		if (location != null) {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation.length() > 0) {
-				File path = new File(expandedLocation);
-				if (path.isDirectory()) {
-					return new Path(expandedLocation);
-				} 
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.ExternalToolsUtil_invalidDirectory__0_, new Object[] { expandedLocation, configuration.getName()});
-				abort(msg, null, 0);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Expands and returns the arguments attribute of the given launch
-	 * configuration. Returns <code>null</code> if arguments are not specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an array of resolved arguments, or <code>null</code> if
-	 * unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, or if unable to resolve any variables
-	 */
-	public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException {
-		String args = configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String) null);
-		if (args != null) {
-			String expanded = getStringVariableManager().performStringSubstitution(args);
-			return parseStringIntoList(expanded);
-		}
-		return null;
-	}
-
-	private static IStringVariableManager getStringVariableManager() {
-		return VariablesPlugin.getDefault().getStringVariableManager();
-	}
-	
-	/**
-	 * Returns whether the given launch configuration is enabled. This property
-	 * is intended only to apply to external tool builder configurations and
-	 * determines whether the project builder will launch the configuration
-	 * when it builds.
-	 *  
-	 * @param configuration the configuration for which the enabled state should
-	 * 		be determined.
-	 * @return whether the given configuration is enabled to be run when a build occurs.
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isBuilderEnabled(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, true);
-	}
-	
-	/**
-	 * Returns the collection of resources for the build scope as specified by the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if an exception occurs while retrieving the resources
-	 */
-	public static IResource[] getResourcesForBuildScope(ILaunchConfiguration configuration) throws CoreException {
-		String scope = configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String) null);
-		if (scope == null) {
-			return null;
-		}
-	
-		return RefreshTab.getRefreshResources(scope);
-	}
-	
-	/**
-	 * Parses the argument text into an array of individual
-	 * strings using the space character as the delimiter.
-	 * An individual argument containing spaces must have a
-	 * double quote (") at the start and end. Two double 
-	 * quotes together is taken to mean an embedded double
-	 * quote in the argument text.
-	 * 
-	 * @param arguments the arguments as one string
-	 * @return the array of arguments
-	 */
-	public static String[] parseStringIntoList(String arguments) {
-		if (arguments == null || arguments.length() == 0) {
-			return new String[0];
-		}
-		String[] res= DebugPlugin.parseArguments(arguments);
-		return res;		
-	}	
-	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
deleted file mode 100644
index ab3f41e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-public class IgnoreWhiteSpaceComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		int i1 = 0;
-		int i2 = 0;
-		int l1 = one.length();
-		int l2 = two.length();
-		char ch1 = ' ';
-		char ch2 = ' ';
-		while (i1 < l1 && i2 < l2) {
-			while (i1 < l1 && Character.isWhitespace(ch1 = one.charAt(i1))) {
-				i1++;
-			}
-			while (i2 < l2 && Character.isWhitespace(ch2 = two.charAt(i2))) {
-				i2++;
-			}
-			if (i1 == l1 && i2 == l2) {
-				return 0;
-			}
-			if (ch1 != ch2) {
-				return -1;
-			}			
-			i1++;
-			i2++;
-		}
-		return 0;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
deleted file mode 100644
index a92fc2d..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Comparator for refresh scope launch configuration attribute
- * <code>ATTR_REFRESH_SCOPE</code>.
- */
-public class WorkingSetComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		if (one == null || two == null) {
-			if (one == two) {
-				return 0;
-			} 
-			return -1;
-		}
-		if (one.startsWith("${working_set:") && two.startsWith("${working_set:")) {		  //$NON-NLS-1$//$NON-NLS-2$
-			IWorkingSet workingSet1 = RefreshTab.getWorkingSet(one);
-			IWorkingSet workingSet2 = RefreshTab.getWorkingSet(two);
-			if (workingSet1 == null || workingSet2 == null) {
-				if (workingSet1 == workingSet2) {
-					return 0;
-				} 
-				return -1;
-			}
-			if (workingSet1.equals(workingSet2)) {
-				return 0;
-			}
-			return -1;
-		}
-		return one.compareTo(two);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
deleted file mode 100644
index 8a4a220..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * This action delegate is responsible for producing the
- * Run > External Tools sub menu contents, which includes
- * an items to run last tool, favorite tools, and show the
- * external tools launch configuration dialog.
- */
-public class ExternalToolMenuDelegate extends AbstractLaunchToolbarAction {
-	
-	/**
-	 * Creates the action delegate
-	 */
-	public ExternalToolMenuDelegate() {
-		super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction#getOpenDialogAction()
-	 */
-	protected IAction getOpenDialogAction() {
-		IAction action= new OpenExternalToolsConfigurations();
-		action.setActionDefinitionId("org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations"); //$NON-NLS-1$
-		return action;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
deleted file mode 100644
index 75b10bc..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Opens the launch config dialog on the external tools launch group.
- */
-public class OpenExternalToolsConfigurations extends OpenLaunchDialogAction {
-
-	public OpenExternalToolsConfigurations() {
-		super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
deleted file mode 100644
index 2759e9c..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Utility methods for working with external tool project builders.
- */
-public class BuilderUtils {
-
-	public static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-
-	/**
-	 * Constant used to find a builder using the 3.0-interim format
-	 */
-	public static final String BUILDER_FOLDER_NAME= ".externalToolBuilders"; //$NON-NLS-1$
-	/**
-	 * Constant used to represent the current project in the 3.0-final format.
-	 */
-	public static final String PROJECT_TAG= "<project>"; //$NON-NLS-1$
-	
-	public static final String VERSION_1_0= "1.0"; //$NON-NLS-1$
-	public static final String VERSION_2_1= "2.1"; //$NON-NLS-1$
-	// The format shipped up to and including Eclipse 3.0 RC1
-	public static final String VERSION_3_0_interim= "3.0.interim"; //$NON-NLS-1$
-	// The format shipped in Eclipse 3.0 final
-	public static final String VERSION_3_0_final= "3.0"; //$NON-NLS-1$
-	
-	// Extension point constants.
-	private static final String TAG_CONFIGURATION_MAP= "configurationMap"; //$NON-NLS-1$
-	private static final String TAG_SOURCE_TYPE= "sourceType"; //$NON-NLS-1$
-	private static final String TAG_BUILDER_TYPE= "builderType"; //$NON-NLS-1$
-    
-    private static final String BUILD_TYPE_SEPARATOR = ","; //$NON-NLS-1$
-    private static final int[] DEFAULT_BUILD_TYPES= new int[] {
-                                    IncrementalProjectBuilder.INCREMENTAL_BUILD,
-                                    IncrementalProjectBuilder.FULL_BUILD};
-
-	/**
-	 * Returns a launch configuration from the given ICommand arguments. If the
-	 * given arguments are from an old-style external tool, an unsaved working
-	 * copy will be created from the arguments and returned.
-	 * 
-	 * @param commandArgs the builder ICommand arguments
-	 * @return a launch configuration, a launch configuration working copy, or
-	 * <code>null</code> if not possible.
-	 */
-	public static ILaunchConfiguration configFromBuildCommandArgs(IProject project, Map commandArgs, String[] version) {
-		String configHandle = (String) commandArgs.get(LAUNCH_CONFIG_HANDLE);
-		if (configHandle == null) {
-			// Probably an old-style (Eclipse 1.0 or 2.0) external tool. Try to migrate.
-			version[0]= VERSION_1_0;
-			return ExternalToolMigration.configFromArgumentMap(commandArgs);
-		}
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfiguration configuration= null;
-		if (configHandle.startsWith(PROJECT_TAG)) {
-			version[0]= VERSION_3_0_final;
-			IPath path= new Path(configHandle);
-			IFile file= project.getFile(path.removeFirstSegments(1));
-			if (file.exists()) {
-				configuration= manager.getLaunchConfiguration(file);
-			}
-		} else {
-		    // Try treating the handle as a file name.
-			// This is the format used in 3.0 RC1.
-			IPath path= new Path(BUILDER_FOLDER_NAME).append(configHandle);
-			IFile file= project.getFile(path);
-			if (file.exists()) {
-				version[0]= VERSION_3_0_interim;
-				configuration= manager.getLaunchConfiguration(file);
-			} else {
-				try {
-					// Treat the configHandle as a memento. This is the format
-					// used in Eclipse 2.1.
-					configuration = manager.getLaunchConfiguration(configHandle);
-				} catch (CoreException e) {
-				}
-				if (configuration != null) {
-					version[0]= VERSION_2_1;
-				}
-			}
-		}
-		return configuration;
-	}
-
-	/**
-	 * Returns an <code>ICommand</code> from the given launch configuration.
-	 * 
-	 * @param project the project the ICommand is relevant to
-	 * @param config, the launch configuration to create the command from
-	 * @return the new command. <code>null</code> can be returned if problems occur during
-	 * the translation.
-	 */
-	public static ICommand commandFromLaunchConfig(IProject project, ILaunchConfiguration config) {
-		ICommand newCommand = null;
-		try {
-			newCommand = project.getDescription().newCommand();
-			newCommand = toBuildCommand(project, config, newCommand);
-			configureTriggers(config, newCommand);
-		} catch (CoreException exception) {
-			Shell shell= ExternalToolsPlugin.getActiveWorkbenchShell();
-			if (shell != null) {
-				MessageDialog.openError(shell, ExternalToolsModelMessages.BuilderUtils_5, ExternalToolsModelMessages.BuilderUtils_6);
-			}
-			return null;
-		}
-		return newCommand;
-	}
-	
-	public static void configureTriggers(ILaunchConfiguration config, ICommand newCommand) throws CoreException {
-		newCommand.setBuilding(IncrementalProjectBuilder.FULL_BUILD, false);
-		newCommand.setBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD, false);
-		newCommand.setBuilding(IncrementalProjectBuilder.AUTO_BUILD, false);
-		newCommand.setBuilding(IncrementalProjectBuilder.CLEAN_BUILD, false);
-		String buildKinds= config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String)null);
-		int[] triggers= BuilderUtils.buildTypesToArray(buildKinds);
-		for (int i = 0; i < triggers.length; i++) {
-			switch (triggers[i]) {
-				case IncrementalProjectBuilder.FULL_BUILD:
-					newCommand.setBuilding(IncrementalProjectBuilder.FULL_BUILD, true);
-					break;
-				case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-					newCommand.setBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD, true);
-					break;
-				case IncrementalProjectBuilder.AUTO_BUILD:
-					newCommand.setBuilding(IncrementalProjectBuilder.AUTO_BUILD, true);
-					break;
-				case IncrementalProjectBuilder.CLEAN_BUILD:
-					newCommand.setBuilding(IncrementalProjectBuilder.CLEAN_BUILD, true);
-					break;
-			}
-		}
-		if (!config.getAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, false)) {
-			ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-			copy.setAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, true);
-			copy.doSave();
-		}
-	}
-
-	/**
-	 * Returns whether the given configuration is an "unmigrated" builder.
-	 * Unmigrated builders are external tools that are stored in an old format
-	 * but have not been migrated by the user. Old format builders are always
-	 * translated into launch config working copies in memory, but they're not
-	 * considered "migrated" until the config has been saved and the project spec
-	 * updated.
-	 * @param config the config to examine
-	 * @return whether the given config represents an unmigrated builder
-	 */
-	public static boolean isUnmigratedConfig(ILaunchConfiguration config) {
-		return config.isWorkingCopy() && ((ILaunchConfigurationWorkingCopy) config).getOriginal() == null;
-	}
-
-	/**
-	 * Converts the given config to a build command which is stored in the
-	 * given command.
-	 *
-	 * @return the configured build command
-	 */
-	public static ICommand toBuildCommand(IProject project, ILaunchConfiguration config, ICommand command) throws CoreException {
-		Map args= null;
-		if (isUnmigratedConfig(config)) {
-			// This config represents an old external tool builder that hasn't
-			// been edited. Try to find the old ICommand and reuse the arguments.
-			// The goal here is to not change the storage format of old, unedited builders.
-			ICommand[] commands= project.getDescription().getBuildSpec();
-			for (int i = 0; i < commands.length; i++) {
-				ICommand projectCommand = commands[i];
-				String name= ExternalToolMigration.getNameFromCommandArgs(projectCommand.getArguments());
-				if (name != null && name.equals(config.getName())) {
-					args= projectCommand.getArguments();
-					break;
-				}
-			}
-		} else {
-			if (config instanceof ILaunchConfigurationWorkingCopy) {
-				ILaunchConfigurationWorkingCopy workingCopy= (ILaunchConfigurationWorkingCopy) config;
-				if (workingCopy.getOriginal() != null) {
-					config= workingCopy.getOriginal();
-				}
-			}
-			args= new HashMap();
-			// Launch configuration builders are stored with a project-relative path
-			StringBuffer buffer= new StringBuffer(PROJECT_TAG);
-			// Append the project-relative path (workspace path minus first segment)
-			buffer.append('/').append(config.getFile().getFullPath().removeFirstSegments(1));
-			args.put(LAUNCH_CONFIG_HANDLE, buffer.toString());
-		}
-		command.setBuilderName(ExternalToolBuilder.ID);
-		command.setArguments(args);
-		return command;
-	}
-	
-	/**
-	 * Returns the type of launch configuration that should be created when
-	 * duplicating the given configuration as a project builder. Queries to see
-	 * if an extension has been specified to explicitly declare the mapping.
-	 */
-	public static ILaunchConfigurationType getConfigurationDuplicationType(ILaunchConfiguration config) throws CoreException {
-		IExtensionPoint ep= Platform.getExtensionRegistry().getExtensionPoint(IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS); 
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		String sourceType= config.getType().getIdentifier();
-		String builderType= null;
-		for (int i= 0; i < elements.length; i++) {
-			IConfigurationElement element= elements[i];
-			if (element.getName().equals(TAG_CONFIGURATION_MAP) && sourceType.equals(element.getAttribute(TAG_SOURCE_TYPE))) {
-				builderType= element.getAttribute(TAG_BUILDER_TYPE);
-				break;
-			}
-		}
-		if (builderType != null) {
-			ILaunchConfigurationType type= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(builderType);
-			if (type != null) {
-				return type;
-			}
-		}
-		return config.getType();
-	}
-
-	/**
-	 * Returns the folder where project builders should be stored or
-	 * <code>null</code> if the folder could not be created
-	 */
-	public static IFolder getBuilderFolder(IProject project, boolean create) {
-		IFolder folder = project.getFolder(BUILDER_FOLDER_NAME);
-		if (!folder.exists() && create) {
-			try {
-				folder.create(true, true, new NullProgressMonitor());
-			} catch (CoreException e) {
-				return null;
-			}
-		}
-		return folder;
-	}
-
-	/**
-	 * Returns a duplicate of the given configuration. The new configuration
-	 * will be of the same type as the given configuration or of the duplication
-	 * type registered for the given configuration via the extension point
-	 * IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS.
-	 */
-	public static ILaunchConfiguration duplicateConfiguration(IProject project, ILaunchConfiguration config) throws CoreException {
-		Map attributes= config.getAttributes();
-		String newName= new StringBuffer(config.getName()).append(ExternalToolsModelMessages.BuilderUtils_7).toString();
-		newName= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(newName);
-		ILaunchConfigurationType newType= getConfigurationDuplicationType(config);
-		ILaunchConfigurationWorkingCopy newWorkingCopy= newType.newInstance(getBuilderFolder(project, true), newName);
-		newWorkingCopy.setAttributes(attributes);
-		return newWorkingCopy.doSave();
-	}
-
-	/**
-	 * Migrates the launch configuration working copy, which is based on an old-
-	 * style external tool builder, to a new, saved launch configuration. The
-	 * returned launch configuration will contain the same attributes as the
-	 * given working copy with the exception of the configuration name, which
-	 * may be changed during the migration. The name of the configuration will
-	 * only be changed if the current name is not a valid name for a saved
-	 * config.
-	 * 
-	 * @param workingCopy the launch configuration containing attributes from an
-	 * old-style project builder.
-	 * @return ILaunchConfiguration a new, saved launch configuration whose
-	 * attributes match those of the given working copy as well as possible
-	 * @throws CoreException if an exception occurs while attempting to save the
-	 * new launch configuration
-	 */
-	public static ILaunchConfiguration migrateBuilderConfiguration(IProject project, ILaunchConfigurationWorkingCopy workingCopy) throws CoreException {
-		workingCopy.setContainer(getBuilderFolder(project, true));
-		// Before saving, make sure the name is valid
-		String name= workingCopy.getName();
-		name= name.replace('/', '.');
-		if (name.charAt(0) == ('.')) {
-			name = name.substring(1);
-		}
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-		if (!status.isOK()) {
-			name = "ExternalTool"; //$NON-NLS-1$
-		}
-		name = DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-		workingCopy.rename(name);
-		return workingCopy.doSave();
-	}
-
-    /**
-     * Converts the build types string into an array of
-     * build kinds.
-     *
-     * @param buildTypes the string of built types to convert
-     * @return the array of build kinds.
-     */
-    public static int[] buildTypesToArray(String buildTypes) {
-    	if (buildTypes == null || buildTypes.length() == 0) {
-    		return DEFAULT_BUILD_TYPES;
-    	}
-    	
-    	int count = 0;
-    	boolean incremental = false;
-    	boolean full = false;
-    	boolean auto = false;
-        boolean clean= false;
-    
-    	StringTokenizer tokenizer = new StringTokenizer(buildTypes, BUILD_TYPE_SEPARATOR);
-    	while (tokenizer.hasMoreTokens()) {
-    		String token = tokenizer.nextToken();
-    		if (IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(token)) {
-    			if (!incremental) {
-    				incremental = true;
-    				count++;
-    			}
-    		} else if (IExternalToolConstants.BUILD_TYPE_FULL.equals(token)) {
-    			if (!full) {
-    				full = true;
-    				count++;
-    			}
-    		} else if (IExternalToolConstants.BUILD_TYPE_AUTO.equals(token)) {
-    			if (!auto) {
-    				auto = true;
-    				count++;
-    			}
-    		} else if (IExternalToolConstants.BUILD_TYPE_CLEAN.equals(token)) {
-                if (!clean) {
-                    clean = true;
-                    count++;
-                }
-            }
-    	}
-    
-    	int[] results = new int[count];
-    	count = 0;
-    	if (incremental) {
-    		results[count] = IncrementalProjectBuilder.INCREMENTAL_BUILD;
-    		count++;
-    	}
-    	if (full) {
-    		results[count] = IncrementalProjectBuilder.FULL_BUILD;
-    		count++;
-    	}
-    	if (auto) {
-    		results[count] = IncrementalProjectBuilder.AUTO_BUILD;
-    		count++;
-    	}
-        if (clean) {
-            results[count] = IncrementalProjectBuilder.CLEAN_BUILD;
-            count++;
-        }
-    
-    	return results;
-    }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
deleted file mode 100644
index 0f66a49..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.text.MessageFormat;
-import java.util.Map;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-import org.osgi.framework.Bundle;
-
-/**
- * This project builder implementation will run an external tool during the
- * build process. 
- */
-public final class ExternalToolBuilder extends IncrementalProjectBuilder {
-	private final class IgnoreTeamPrivateChanges implements IResourceDeltaVisitor {
-		private boolean[] fTrueChange;
-		private IgnoreTeamPrivateChanges(boolean[] trueChange) {
-			super();
-			fTrueChange= trueChange;
-		}
-		public boolean visit(IResourceDelta visitDelta) throws CoreException {
-			IResource resource= visitDelta.getResource();
-			if (resource instanceof IFile) {
-				fTrueChange[0]= true;
-				return false;
-			}
-			return true;
-		}
-	}
-
-	public static final String ID = "org.eclipse.ui.externaltools.ExternalToolBuilder"; //$NON-NLS-1$;
-
-	private static String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-	
-	private static IProject buildProject= null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.events.InternalBuilder#build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {		
-		if (ExternalToolsPlugin.getDefault().getBundle().getState() != Bundle.ACTIVE) {
-			return null;
-		}
-		
-		ILaunchConfiguration config= BuilderUtils.configFromBuildCommandArgs(getProject(), args, new String[1]);
-        if (config == null) {
-            throw ExternalToolsPlugin.newError(ExternalToolsModelMessages.ExternalToolBuilder_0, null);
-        }
-		IProject[] projectsWithinScope= null;
-		IResource[] resources = ExternalToolsUtil.getResourcesForBuildScope(config);
-		if (resources != null) {
-			projectsWithinScope= new IProject[resources.length];
-			for (int i = 0; i < resources.length; i++) {
-				projectsWithinScope[i]= resources[i].getProject();
-			}
-		}
-        boolean kindCompatible= commandConfiguredForKind(config, kind);
-        if (kindCompatible && configEnabled(config)) {
-            doBuildBasedOnScope(resources, kind, config, monitor);
-        }
-        
-		return projectsWithinScope;
-	}
-
-    private boolean commandConfiguredForKind(ILaunchConfiguration config, int kind) {
-        try {
-            if (!(config.getAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, false))) {
-                ICommand command= getCommand();
-                //adapt the builder command to make use of the 3.1 support for setting command build kinds
-                //this will only happen once for builder/command defined before the support existed
-                BuilderUtils.configureTriggers(config, command);
-                IProjectDescription desc= getProject().getDescription();
-                ICommand[] commands= desc.getBuildSpec();
-                int index= getBuilderCommandIndex(commands, command);
-                if (index != -1) {
-                    commands[index]= command;
-                    desc.setBuildSpec(commands);
-                    getProject().setDescription(desc, null);
-                    ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-                    copy.setAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, true);
-                    copy.doSave();
-                }
-                return command.isBuilding(kind);
-            }
-        } catch (CoreException e) {
-           ExternalToolsPlugin.getDefault().log(e);
-           return true;
-        }
-        return true;
-    }
-    
-    private int getBuilderCommandIndex(ICommand[] buildSpec, ICommand command) {
-        Map commandArgs= command.getArguments();
-        if (commandArgs == null) {
-            return -1;
-        }
-        String handle= (String) commandArgs.get(BuilderUtils.LAUNCH_CONFIG_HANDLE);
-        if (handle == null) {
-            return -1;
-        }
-        for (int i = 0; i < buildSpec.length; ++i) {
-            ICommand buildSpecCommand= buildSpec[i];
-            if (ID.equals(buildSpecCommand.getBuilderName())) {
-                Map buildSpecArgs= buildSpecCommand.getArguments();
-                if (buildSpecArgs != null) {
-                    String buildSpecHandle= (String) buildSpecArgs.get(BuilderUtils.LAUNCH_CONFIG_HANDLE);
-                    if (handle.equals(buildSpecHandle)) {
-                        return i;
-                    }
-                }
-            }
-        }
-        return -1;
-    }
-
-	/**
-	 * Returns whether the given builder config is enabled or not.
-	 * 
-	 * @param config the config to examine
-	 * @return whether the config is enabled
-	 */
-	private boolean configEnabled(ILaunchConfiguration config) {
-		try {
-			return ExternalToolsUtil.isBuilderEnabled(config);
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return true;
-	}
-
-	private void doBuildBasedOnScope(IResource[] resources, int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		boolean buildForChange = true;
-		if (kind != FULL_BUILD) { //scope not applied for full builds
-			if (resources != null && resources.length > 0) {
-				buildForChange = buildScopeIndicatesBuild(resources);
-			}
-		}
-
-		if (buildForChange) {
-			launchBuild(kind, config, monitor);
-		}
-	}
-	
-	private void launchBuild(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		monitor.subTask(MessageFormat.format(ExternalToolsModelMessages.ExternalToolBuilder_Running__0_____1, new String[] { config.getName()}));
-		buildStarted(kind);
-		// The default value for "launch in background" is true in debug core. If
-		// the user doesn't go through the UI, the new attribute won't be set. This means
-		// that existing Ant builders will try to run in the background (and likely conflict with
-		// each other) without migration.
-		config= ExternalToolMigration.migrateRunInBackground(config);
-		config.launch(ILaunchManager.RUN_MODE, monitor);
-		buildEnded();
-	}
-
-	/**
-	 * Returns the build type being performed if the
-	 * external tool is being run as a project builder.
-	 * 
-	 * @return one of the <code>IExternalToolConstants.BUILD_TYPE_*</code> constants.
-	 */
-	public static String getBuildType() {
-		return buildType;
-	}
-	
-	/**
-	 * Returns the project that is being built and has triggered the current external
-	 * tool builder. <code>null</code> is returned if no build is currently occurring.
-	 * 
-	 * @return project being built or <code>null</code>.
-	 */
-	public static IProject getBuildProject() {
-		return buildProject;
-	}
-	
-	/**
-	 * Stores the currently active build kind and build project when a build begins
-	 * @param buildKind
-	 */
-	private void buildStarted(int buildKind) {
-		switch (buildKind) {
-			case IncrementalProjectBuilder.INCREMENTAL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_INCREMENTAL;
-				break;
-			case IncrementalProjectBuilder.FULL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_FULL;
-				break;
-			case IncrementalProjectBuilder.AUTO_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_AUTO;
-				break;
-            case IncrementalProjectBuilder.CLEAN_BUILD :
-                buildType = IExternalToolConstants.BUILD_TYPE_CLEAN;
-                break;
-			default :
-				buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-				break;
-		}
-		buildProject= getProject();
-	}
-	
-	/**
-	 * Clears the current build kind and build project when a build finishes.
-	 */
-	private void buildEnded() {
-		buildType= IExternalToolConstants.BUILD_TYPE_NONE;
-		buildProject= null;
-	}
-	
-	private boolean buildScopeIndicatesBuild(IResource[] resources) {
-		for (int i = 0; i < resources.length; i++) {
-			IResourceDelta delta = getDelta(resources[i].getProject());
-			if (delta == null) {
-				//project just added to the workspace..no previous build tree
-				return true;
-			} 
-			IPath path= resources[i].getProjectRelativePath();
-			IResourceDelta change= delta.findMember(path);
-			if (change != null) {
-				final boolean[] trueChange= new boolean[1];
-				trueChange[0]= false;
-				try {
-					change.accept(new IgnoreTeamPrivateChanges(trueChange));
-				} catch (CoreException e) {
-					ExternalToolsPlugin.getDefault().log("Internal error resolving changed resources during build", e); //$NON-NLS-1$
-				}
-				
-				return trueChange[0]; //filtered out team private changes
-			}
-		}
-		return false;
-	}
-    
-    protected void clean(IProgressMonitor monitor) throws CoreException {
-	    ICommand command= getCommand();
-        ILaunchConfiguration config= BuilderUtils.configFromBuildCommandArgs(getProject(), command.getArguments(), new String[1]);
-    	if (!configEnabled(config)) {
-	    	return;
-	    }
-        
-        if ((!config.getAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, false))) {
-            //old behavior
-            super.clean(monitor);
-            return;
-        }
-	
-		launchBuild(IncrementalProjectBuilder.CLEAN_BUILD, config, monitor);
-    }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
deleted file mode 100644
index d8fd198..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The images provided by the external tools plugin.
- */
-public class ExternalToolsImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * The registry for composite images
-	 */
-	private static ImageDescriptorRegistry imageDescriptorRegistry;
-
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$	
-		ICON_BASE_URL= ExternalToolsPlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {		
-		// Objects
-		declareRegistryImage(IExternalToolConstants.IMG_TAB_MAIN, OBJECT + "main_tab.gif"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-		try {
-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-		} catch (MalformedURLException me) {
-		}
-		imageRegistry.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-     *	@see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ExternalToolsPlugin.getStandardDisplay());
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-	
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions
-	 * are retrieved from the *lcl16 folders.
-	 */
-	public static void setLocalImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "lcl16", iconName); //$NON-NLS-1$
-	}
-	
-	private static void setImageDescriptors(IAction action, String type, String relPath) {
-		
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setDisabledImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$
-	}
-	
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-		
-		StringBuffer buffer= new StringBuffer(prefix);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(ICON_BASE_URL, buffer.toString());
-	}
-	
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	/** 
-	 * Returns the image for the given composite descriptor. 
-	 */
-	public static Image getImage(CompositeImageDescriptor imageDescriptor) {
-		if (imageDescriptorRegistry == null) {
-			imageDescriptorRegistry = new ImageDescriptorRegistry();	
-		}
-		return imageDescriptorRegistry.get(imageDescriptor);
-	}
-	
-	public static void disposeImageDescriptorRegistry() {
-		if (imageDescriptorRegistry != null) {
-			imageDescriptorRegistry.dispose(); 
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
deleted file mode 100644
index f683964..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ExternalToolsModelMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.model.ExternalToolsModelMessages";//$NON-NLS-1$
-    
-	public static String ImageDescriptorRegistry_Allocating_image_for_wrong_display_1;
-	public static String ExternalToolBuilder_Running__0_____1;
-	public static String ExternalToolBuilder_0;
-	public static String BuilderUtils_5;
-	public static String BuilderUtils_6;
-	public static String BuilderUtils_7;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ExternalToolsModelMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
deleted file mode 100644
index 528fcb2..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ImageDescriptorRegistry_Allocating_image_for_wrong_display_1=Allocating image for wrong display
-ExternalToolBuilder_Running__0_____1=Running {0}...
-ExternalToolBuilder_0=The builder launch configuration could not be found.
-BuilderUtils_5=Command Error
-BuilderUtils_6=An error occurred while saving the build commands of the project
-BuilderUtils_7=\ [Builder]
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
deleted file mode 100644
index 130c6a6..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * External tools plug-in class
- */
-public final class ExternalToolsPlugin extends AbstractUIPlugin {
-	/**
-	 * Status representing no problems encountered during operation.
-	 */
-	public static final IStatus OK_STATUS = new Status(IStatus.OK, IExternalToolConstants.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-
-	private static ExternalToolsPlugin plugin;
-	
-	private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-
-	/**
-	 * Create an instance of the External Tools plug-in.
-	 */
-	public ExternalToolsPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the default instance of the receiver.
-	 * This represents the runtime plugin.
-	 */
-	public static ExternalToolsPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a new <code>IStatus</code> for this plug-in
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		if (message == null) {
-			message= EMPTY_STRING; 
-		}		
-		return new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception);
-	}
-
-	/**
-	 * Returns a new <code>CoreException</code> for this plug-in
-	 */
-	public static CoreException newError(String message, Throwable exception) {
-		return new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception));
-	}
-
-	/**
-	 * Writes the message to the plug-in's log
-	 * 
-	 * @param message the text to write to the log
-	 */
-	public void log(String message, Throwable exception) {
-		IStatus status = newErrorStatus(message, exception);
-		getLog().log(status);
-	}
-	
-	public void log(Throwable exception) {
-		//this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		getLog().log(newErrorStatus("Internal error logged from External Tools UI: ", exception)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the ImageDescriptor for the icon with the given path
-	 * 
-	 * @return the ImageDescriptor object
-	 */
-	public ImageDescriptor getImageDescriptor(String path) {
-		try {
-			Bundle bundle= getDefault().getBundle();
-			URL installURL = bundle.getEntry("/"); //$NON-NLS-1$
-			URL url = new URL(installURL, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the active workbench window or <code>null</code> if none
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-	
-	/**
-	 * Returns the active workbench page or <code>null</code> if none.
-	 */
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getActivePage();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the active workbench shell or <code>null</code> if none.
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getShell();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return ExternalToolsImages.initializeImageRegistry();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			ExternalToolsImages.disposeImageDescriptorRegistry();
-		} finally {
-			super.stop(context);
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
deleted file mode 100644
index b7bbb8b..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-public class ExternalToolsPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public ExternalToolsPreferenceInitializer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore prefs = ExternalToolsPlugin.getDefault().getPreferenceStore();
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, true);
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, true);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
deleted file mode 100644
index 2f24e60..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-/**
- * Defines the constants available for client use.
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- */
-public interface IExternalToolConstants {
-	/**
-	 * Plugin identifier for external tools (value <code>org.eclipse.ui.externaltools</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui.externaltools"; //$NON-NLS-1$;
-
-	// ------- Extensions Points -------
-	/**
-	 * Extension point to declare the launch configuration type that should be
-	 * created when duplicating an existing configuration as a project builder.
-	 */
-	public static final String EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS = "configurationDuplicationMaps"; //$NON-NLS-1$
-	// ------- Refresh Variables -------
-	/**
-	 * Variable that expands to the workspace root object (value <code>workspace</code>).
-	 */
-	public static final String VAR_WORKSPACE = "workspace"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the project resource (value <code>project</code>).
-	 */
-	public static final String VAR_PROJECT = "project"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the container resource (value <code>container</code>).
-	 */
-	public static final String VAR_CONTAINER = "container"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to a resource (value <code>resource</code>).
-	 */
-	public static final String VAR_RESOURCE = "resource"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the working set object (value <code>working_set</code>).
-	 */
-	public static final String VAR_WORKING_SET = "working_set"; //$NON-NLS-1$
-	// ------- Tool Types -------
-	/**
-	 * External tool type for programs such as executables, batch files, 
-	 * shell scripts, etc (value <code>programType</code>).
-	 */
-	public static final String TOOL_TYPE_PROGRAM = "programType"; //$NON-NLS-1$;
-
-	// ------- Build Types -------
-	/**
-	 * Build type indicating an incremental project build request for
-	 * the external tool running as a builder (value <code>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_INCREMENTAL = "incremental"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating a full project build request for
-	 * the external tool running as a builder (value <code>full</code>).
-	 */
-	public static final String BUILD_TYPE_FULL = "full"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an automatic project build request for
-	 * the external tool running as a builder (value <code>auto</code>).
-	 */
-	public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
-	
-	/**
-	 * Build type indicating a clean project build request for
-	 * the external tool running as a builder (value <code>clean</code>).
-	 */
-	public static final String BUILD_TYPE_CLEAN = "clean"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating no project build request for
-	 * the external tool running as a builder (value <code>none</code>).
-	 */
-	public static final String BUILD_TYPE_NONE = "none"; //$NON-NLS-1$
-
-	// ------- Images -------
-
-	/**
-	 * Main tab image.
-	 */
-	public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
-	
-	// ------- Launch configuration types --------
-	/**
-	 * Program launch configuration type identifier.
-	 */
-	public static final String ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"; //$NON-NLS-1$
-	
-	/**
-	 * Program builder launch configuration type identifier. Program project
-	 * builders are of this type.
-	 */
-	public static final String ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"; //$NON-NLS-1$	
-	
-	// ------- Launch configuration category --------
-	/**
-	 * Identifier for external tools launch configuration category. Launch
-	 * configuration types for external tools that appear in the external tools
-	 * launch configuration dialog should belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration builders category.
-	 * Launch configuration types that can be added as project builders should
-	 * belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools.builder"; //$NON-NLS-1$
-
-	// ------- Launch configuration groups --------
-	/**
-	 * Identifier for external tools launch configuration group. The external
-	 * tools launch configuration group corresponds to the external tools
-	 * category in run mode.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration group
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup.builder"; //$NON-NLS-1$
-
-	// ------- Common External Tool Launch Configuration Attributes -------
-
-	/**
-	 * Boolean attribute indicating if external tool output should be captured.
-	 * Default value is <code>false</code>.
-	 * @deprecated since 3.1 Replaced by <code>org.eclipse.debug.core.DebugPlugin.ATTR_CAPTURE_OUTPUT</code>
-	 */
-	public static final String ATTR_CAPTURE_OUTPUT = PLUGIN_ID + ".ATTR_CAPTURE_OUTPUT"; //$NON-NLS-1$
-	/**
-	 * String attribute identifying the location of an external. Default value
-	 * is <code>null</code>. Encoding is tool specific.
-	 */
-	public static final String ATTR_LOCATION = PLUGIN_ID + ".ATTR_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * Boolean attribute indicating if the user should be prompted for
-	 * arguments before running a tool. Default value is <code>false</code>.
-	 * THIS ATTRIBUTE IS NOT USED.
-	 */
-	public static final String ATTR_PROMPT_FOR_ARGUMENTS = PLUGIN_ID + ".ATTR_PROMPT_FOR_ARGUMENTS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying the scope of resources that should trigger an 
-	 * external tool to run. Default value is <code>null</code>
-	 * indicating that the builder will be triggered for all changes.
-	 */
-	public static final String ATTR_BUILD_SCOPE = PLUGIN_ID + ".ATTR_BUILD_SCOPE"; //$NON-NLS-1$
-		
-	
-	/**
-	 * String attribute containing an array of build kinds for which an
-	 * external tool builder should be run.
-	 */
-	public static final String ATTR_RUN_BUILD_KINDS = PLUGIN_ID + ".ATTR_RUN_BUILD_KINDS"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean attribute indicating if the console should be shown on external
-	 * tool output. Default value is <code>false</code>.
-	 */
-	public static final String ATTR_SHOW_CONSOLE = PLUGIN_ID + ".ATTR_SHOW_CONSOLE"; //$NON-NLS-1$
-
-	/**
-	 * String attribute containing the arguments that should be passed to the
-	 * tool. Default value is <code>null</code>, and encoding is tool specific.
-	 */
-	public static final String ATTR_TOOL_ARGUMENTS = PLUGIN_ID + ".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$
-
-	/**
-	 * String attribute identifying the working directory of an external tool.
-	 * Default value is <code>null</code>, which indicates a default working
-	 * directory, which is tool specific.
-	 */
-	public static final String ATTR_WORKING_DIRECTORY = PLUGIN_ID + ".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying whether an external tool builder configuration
-	 * is enabled. The default value is <code>true</code>, which indicates
-	 * that the configuration will be executed as appropriate by the builder.
-	 */
-	public static final String ATTR_BUILDER_ENABLED = PLUGIN_ID + ".ATTR_BUILDER_ENABLED"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int ERR_INTERNAL_ERROR = 150;
-
-	/**
-	 * String attribute identifying a non-external tool builder launch configuration that is disabled
-	 * The value is the name of the disabled builder.
-	 */
-	public static final String ATTR_DISABLED_BUILDER = PLUGIN_ID + ".ATTR_DISABLED_BUILDER";		 //$NON-NLS-1$
-	
-	/**
-	 * boolean attribute identifying that an external tool builder has been configured for triggering
-	 * using the <code>ICommand.setBuilding(int)</code> mechanism
-	 * @since 3.1
-	 */
-	public static final String ATTR_TRIGGERS_CONFIGURED = PLUGIN_ID + ".ATTR_TRIGGERS_CONFIGURED";		 //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
deleted file mode 100644
index 0bbfd05..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Help context ids for the external tools.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- */
-public interface IExternalToolsHelpContextIds {
-	public static final String PREFIX = "org.eclipse.ui.externaltools."; //$NON-NLS-1$
-	
-	// Preference Pages
-	public static final String EXTERNAL_TOOLS_PREFERENCE_PAGE = PREFIX + "preference_page_context";  //$NON-NLS-1$
-		
-	// Property Pages
-	public static final String EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE = PREFIX + "builder_property_page_context"; //$NON-NLS-1$
-	
-	//Dialogs
-	public static final String MESSAGE_WITH_TOGGLE_DIALOG = PREFIX + "message_with_toggle_dialog_context"; //$NON-NLS-1$
-	public static final String FILE_SELECTION_DIALOG = PREFIX + "file_selection_dialog_context"; //$NON-NLS-1$
-	
-	//Launch configuration dialog tabs
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB = PREFIX + "builders_tab_context"; //$NON-NLS-1$
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB = PREFIX + "program_main_tab_context"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
deleted file mode 100644
index ab0944c..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Constants used to identify user preferences.
- */
-public interface IPreferenceConstants {
-	
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before an external tool project builder is migrated to the new builder format.
-	 * This is used before an old-style (Eclipse 1.0 or 2.0) builder is migrated to
-	 * the new format (launch configurations).
-	 */
-	public static final String PROMPT_FOR_TOOL_MIGRATION = "externaltools.builders.promptForMigration"; //$NON-NLS-1$
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before a project is migrated tot he new builder handle format.
-	 * This is used before an old-style (Eclipse 2.1) project handle is migrated
-	 * from the old format (launch config handles) to the new format (path to the launch).
-	 */
-	public static final String PROMPT_FOR_PROJECT_MIGRATION = "externaltools.builders.promptForProjectMigration"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
deleted file mode 100644
index 36fd085..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
- 
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>.
- */
-public class ImageDescriptorRegistry {
-
-	private HashMap fRegistry= new HashMap(10);
-	private Display fDisplay;
-	
-	/**
-	 * Creates a new image descriptor registry for the current or default display,
-	 * respectively.
-	 */
-	public ImageDescriptorRegistry() {
-		this(ExternalToolsPlugin.getStandardDisplay());
-	}
-	
-	/**
-	 * Creates a new image descriptor registry for the given display. All images
-	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param display the display the images managed by this registry are allocated for 
-	 */
-	public ImageDescriptorRegistry(Display display) {
-		fDisplay= display;
-		Assert.isNotNull(fDisplay);
-		hookDisplay();
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which the registry manages an image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public Image get(ImageDescriptor descriptor) {
-		if (descriptor == null)
-			descriptor= ImageDescriptor.getMissingImageDescriptor();
-			
-		Image result= (Image)fRegistry.get(descriptor);
-		if (result != null)
-			return result;
-	
-		Assert.isTrue(fDisplay == ExternalToolsPlugin.getStandardDisplay(), ExternalToolsModelMessages.ImageDescriptorRegistry_Allocating_image_for_wrong_display_1);
-		result= descriptor.createImage();
-		if (result != null)
-			fRegistry.put(descriptor, result);
-		return result;
-	}
-
-	/**
-	 * Disposes all images managed by this registry.
-	 */	
-	public void dispose() {
-		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fRegistry.clear();
-	}
-	
-	private void hookDisplay() {
-		fDisplay.disposeExec(new Runnable() {
-			public void run() {
-				dispose();
-			}	
-		});
-	}
-}
-
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
deleted file mode 100644
index 8d41495..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.registry;
-
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages;
-
-/**
- * Responsible reading an old external tool format and creating
- * and migrating it to create a new external tool.
- */
-public final class ExternalToolMigration {
-	/**
-	 * Structure to represent a variable definition within a
-	 * source string.
-	 */
-	public static final class VariableDefinition {
-		/**
-		 * Index in the source text where the variable started
-		 * or <code>-1</code> if no valid variable start tag 
-		 * identifier found.
-		 */
-		public int start = -1;
-		
-		/**
-		 * Index in the source text of the character following
-		 * the end of the variable or <code>-1</code> if no 
-		 * valid variable end tag found.
-		 */
-		public int end = -1;
-		
-		/**
-		 * The variable's name found in the source text, or
-		 * <code>null</code> if no valid variable found.
-		 */
-		public String name = null;
-		
-		/**
-		 * The variable's argument found in the source text, or
-		 * <code>null</code> if no valid variable found or if
-		 * the variable did not specify an argument
-		 */
-		public String argument = null;
-		
-		/**
-		 * Create an initialized variable definition.
-		 */
-		private VariableDefinition() {
-			super();
-		}
-	}
-	
-	/**
-	 * Variable tag indentifiers
-	 */
-	private static final String VAR_TAG_START = "${"; //$NON-NLS-1$
-	private static final String VAR_TAG_END = "}"; //$NON-NLS-1$
-	private static final String VAR_TAG_SEP = ":"; //$NON-NLS-1$	
-	
-	/**
-	 * External tool type for Ant build files (value <code>antBuildType</code>).
-	 */
-	public static final String TOOL_TYPE_ANT_BUILD = "antBuildType"; //$NON-NLS-1$;
-	/**
-	 * Ant builder launch configuration type identifier. Ant project builders
-	 * are of this type.
-	 */
-	public static final String ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntBuilderLaunchConfigurationType"; //$NON-NLS-1$
-		
-	public static final String RUN_TARGETS_ATTRIBUTE = TOOL_TYPE_ANT_BUILD + ".runTargets"; //$NON-NLS-1$;
-
-	/**
-	* String attribute indicating the Ant targets to execute. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 * NOTE: This value is copied here from org.eclipse.ant.ui.internal.IAntLaunchConfigurationConstants.
-	 * 		Ant no longer resides in External Tools and this plug-in. This value is kept here only
-	 * 		for migration.
-	 */
-	public static final String ATTR_ANT_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
-	
-	/*
-	 * 2.0 External Tool Tags
-	 */
-	public static final String TAG_TOOL_TYPE = "!{tool_type}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_NAME = "!{tool_name}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_LOCATION = "!{tool_loc}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_ARGUMENTS = "!{tool_args}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_DIRECTORY = "!{tool_dir}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_REFRESH = "!{tool_refresh}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_SHOW_LOG = "!{tool_show_log}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BUILD_TYPES = "!{tool_build_types}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BLOCK = "!{tool_block}"; //$NON-NLS-1$
-
-	// Known kind of tools
-	private static final String TOOL_TYPE_ANT = "org.eclipse.ui.externaltools.type.ant"; //$NON-NLS-1$
-	private static final String TOOL_TYPE_PROGRAM = "org.eclipse.ui.externaltools.type.program"; //$NON-NLS-1$
-
-	/*
-	 * 2.1 External Tool Keys
-	 */
-	public static final String TAG_TYPE = "type"; //$NON-NLS-1$
-	public static final String TAG_NAME = "name"; //$NON-NLS-1$
-	public static final String TAG_LOCATION = "location"; //$NON-NLS-1$
-	public static final String TAG_WORK_DIR = "workDirectory"; //$NON-NLS-1$
-	public static final String TAG_CAPTURE_OUTPUT = "captureOutput"; //$NON-NLS-1$
-	public static final String TAG_SHOW_CONSOLE = "showConsole"; //$NON-NLS-1$
-	public static final String TAG_RUN_BKGRND = "runInBackground"; //$NON-NLS-1$
-	public static final String TAG_PROMPT_ARGS = "promptForArguments"; //$NON-NLS-1$
-	public static final String TAG_ARGS = "arguments"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_SCOPE = "refreshScope"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_RECURSIVE = "refreshRecursive"; //$NON-NLS-1$
-	public static final String TAG_RUN_BUILD_KINDS = "runForBuildKinds"; //$NON-NLS-1$
-	public static final String TAG_EXTRA_ATTR = "extraAttribute"; //$NON-NLS-1$
-	public static final String TAG_VERSION = "version"; //$NON-NLS-1$
-
-	private static final String EXTRA_ATTR_SEPARATOR = "="; //$NON-NLS-1$
-
-	private static final String VERSION_21 = "2.1"; //$NON-NLS-1$;
-
-	private static final String TRUE = "true"; //$NON-NLS-1$
-	private static final String FALSE = "false"; //$NON-NLS-1$
-
-	/**
-	 * Allows no instances.
-	 */
-	private ExternalToolMigration() {
-		super();
-	}
-
-	/**
-	 * Returns a  launch configuration working copy from the argument map or
-	 * <code>null</code> if the given map cannot be interpreted as a 2.0 or 2.1
-	 * branch external tool. The returned working copy will be unsaved and its
-	 * location will be set to the metadata area.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFromArgumentMap(Map args) {
-		String version = (String) args.get(TAG_VERSION);
-		if (VERSION_21.equals(version)) {
-			return configFrom21ArgumentMap(args);
-		}
-		return configFrom20ArgumentMap(args);
-	}
-
-	public static ILaunchConfigurationWorkingCopy configFrom21ArgumentMap(Map commandArgs) {
-		String name = (String) commandArgs.get(TAG_NAME);
-		String type = (String) commandArgs.get(TAG_TYPE);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-		
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String) commandArgs.get(TAG_LOCATION));
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) commandArgs.get(TAG_WORK_DIR));
-		config.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, TRUE.equals(commandArgs.get(TAG_CAPTURE_OUTPUT)));
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(commandArgs.get(TAG_SHOW_CONSOLE)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, TRUE.equals(commandArgs.get(TAG_RUN_BKGRND)));
-		config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, TRUE.equals(commandArgs.get(TAG_PROMPT_ARGS)));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, (String) commandArgs.get(TAG_REFRESH_SCOPE));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_RECURSIVE, TRUE.equals(commandArgs.get(TAG_REFRESH_RECURSIVE)));
-
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) commandArgs.get(TAG_RUN_BUILD_KINDS));
-		
-		String args = (String) commandArgs.get(TAG_ARGS);
-		if (args != null) {
-			config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, args);
-		}
-
-		String extraAttributes = (String) commandArgs.get(TAG_EXTRA_ATTR);
-		if (extraAttributes != null) {
-			StringTokenizer tokenizer = new StringTokenizer(extraAttributes, EXTRA_ATTR_SEPARATOR);
-			while (tokenizer.hasMoreTokens()) {
-				String key = tokenizer.nextToken();
-				if (!tokenizer.hasMoreTokens())
-					break;
-				String value = tokenizer.nextToken();
-				if (key.equals(RUN_TARGETS_ATTRIBUTE)) {
-					// 2.1 implementation only defined 1 "extra attribute"
-					config.setAttribute(ATTR_ANT_TARGETS, value);
-				}
-			}
-		}
-		return config;
-	}
-
-	/**
-	 * Creates an external tool from the map.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFrom20ArgumentMap(Map args) {
-		// Update the type...
-		String type = (String) args.get(TAG_TOOL_TYPE);
-		if (TOOL_TYPE_ANT.equals(type)) {
-			type = TOOL_TYPE_ANT_BUILD;
-		} else if (TOOL_TYPE_PROGRAM.equals(type)){
-			type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
-		} else {
-			return null;
-		}
-
-		String name = (String) args.get(TAG_TOOL_NAME);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-
-		// Update the location...
-		String location = (String) args.get(TAG_TOOL_LOCATION);
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-
-		// Update the refresh scope...
-		String refresh = (String) args.get(TAG_TOOL_REFRESH);
-		if (refresh != null) {
-			VariableDefinition varDef = extractVariableDefinition(refresh, 0);
-			if ("none".equals(varDef.name)) { //$NON-NLS-1$
-				refresh = null;
-			}
-			config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, refresh);
-		}
-
-		// Update the arguments
-		String arguments = (String) args.get(TAG_TOOL_ARGUMENTS);
-		if (type.equals(TOOL_TYPE_ANT_BUILD)) {
-			String targetNames = null;
-			if (arguments != null) {
-				int start = 0;
-				ArrayList targets = new ArrayList();
-				StringBuffer buffer = new StringBuffer();
-				VariableDefinition varDef = extractVariableDefinition(arguments, start);
-				while (varDef.end != -1) {
-					if ("ant_target".equals(varDef.name) && varDef.argument != null) { //$NON-NLS-1$
-						targets.add(varDef.argument);
-						buffer.append(arguments.substring(start, varDef.start));
-					} else {
-						buffer.append(arguments.substring(start, varDef.end));
-					}
-					start = varDef.end;
-					varDef = extractVariableDefinition(arguments, start);
-				}
-				buffer.append(arguments.substring(start, arguments.length()));
-				arguments = buffer.toString();
-	
-				buffer.setLength(0);
-				for (int i = 0; i < targets.size(); i++) {
-					String target = (String) targets.get(i);
-					if (target != null && target.length() > 0) {
-						buffer.append(target);
-						buffer.append(","); //$NON-NLS-1$
-					}
-				}
-				targetNames = buffer.toString();
-			}
-			if (targetNames != null && targetNames.length() > 0) {
-				config.setAttribute(ATTR_ANT_TARGETS, targetNames);
-			}
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-
-		// Collect the rest of the information
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, FALSE.equals(args.get(TAG_TOOL_BLOCK)));
-		String buildKinds= (String) args.get(TAG_TOOL_BUILD_TYPES);
-		if (buildKinds != null) {
-			buildKinds= buildKinds.replace(';', ','); // Replace the old separator with the new
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buildKinds);
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) args.get(TAG_TOOL_DIRECTORY));
-		return config;
-	}
-
-	/**
-	 * Returns a new working copy with the given external tool name and external
-	 * tool type or <code>null</code> if no config could be created.
-	 */
-	private static ILaunchConfigurationWorkingCopy newConfig(String type, String name) {
-		if (type == null || name == null) {
-			return null;
-		}
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType configType;
-		if (TOOL_TYPE_ANT_BUILD.equals(type)) {
-			configType = manager.getLaunchConfigurationType(ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else if (IExternalToolConstants.TOOL_TYPE_PROGRAM.equals(type)) {
-			configType = manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else {
-			return null;
-		}
-		try {
-			if (configType != null) {
-				return configType.newInstance(null, name);
-			}
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the tool name extracted from the given command argument map.
-	 * Extraction is attempted using 2.0 and 2.1 external tool formats.
-	 */
-	public static String getNameFromCommandArgs(Map commandArgs) {
-		String name= (String) commandArgs.get(TAG_NAME);
-		if (name == null) {
-			name= (String) commandArgs.get(TAG_TOOL_NAME);
-		}
-		return name;
-	}
-	
-	/**
-	 * Migrate the old RUN_IN_BACKGROUND launch config attribute to the new
-	 * LAUNCH_IN_BACKGROUND attribute provided by the debug ui plugin.
-	 * 
-	 * @param config the config to migrate
-	 * @return the migrated config
-	 */
-	public static ILaunchConfiguration migrateRunInBackground(ILaunchConfiguration config) {
-		String noValueFlag= "NoValue"; //$NON-NLS-1$
-		String attr= null;
-		try {
-			attr = config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, noValueFlag);
-		} catch (CoreException e) {
-			// Exception will occur if the attribute is already set because the attribute is actually a boolean.
-			// No migration necessary.
-			return config;
-		}
-		if (noValueFlag.equals(attr)) {
-			//the old constant
-			String ATTR_RUN_IN_BACKGROUND= IExternalToolConstants.PLUGIN_ID + ".ATTR_RUN_IN_BACKGROUND"; //$NON-NLS-1$
-			boolean runInBackground= false;
-			try {
-				runInBackground = config.getAttribute(ATTR_RUN_IN_BACKGROUND, runInBackground);
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.ExternalToolMigration_37, e);
-			}
-			try {
-				ILaunchConfigurationWorkingCopy workingCopy= config.getWorkingCopy();
-				workingCopy.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, runInBackground);
-				config= workingCopy.doSave();
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.ExternalToolMigration_38, e);
-			}
-		}
-		return config;
-	}
-	
-	/**
-	 * Extracts a variable name and argument from the given string.
-	 * 
-	 * @param text the source text to parse for a variable tag
-	 * @param start the index in the string to start the search
-	 * @return the variable definition
-	 */
-	public static VariableDefinition extractVariableDefinition(String text, int start) {
-		VariableDefinition varDef = new VariableDefinition();
-		
-		varDef.start = text.indexOf(VAR_TAG_START, start);
-		if (varDef.start < 0){
-			return varDef;
-		}
-		start = varDef.start + VAR_TAG_START.length();
-		
-		int end = text.indexOf(VAR_TAG_END, start);
-		if (end < 0) {
-			return varDef;
-		}
-		varDef.end = end + VAR_TAG_END.length();
-		if (end == start) {
-			return varDef;
-		}
-	
-		int mid = text.indexOf(VAR_TAG_SEP, start);
-		if (mid < 0 || mid > end) {
-			varDef.name = text.substring(start, end);
-		} else {
-			if (mid > start) {
-				varDef.name = text.substring(start, mid);
-			}
-			mid = mid + VAR_TAG_SEP.length();
-			if (mid < end) {
-				varDef.argument = text.substring(mid, end);
-			}
-		}
-		
-		return varDef;
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
deleted file mode 100644
index 3d3f079..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage.ErrorConfig;
-
-
-class BuilderLabelProvider extends LabelProvider {
-		private static final String IMG_BUILDER = "icons/full/obj16/builder.gif"; //$NON-NLS-1$;
-		private static final String IMG_INVALID_BUILD_TOOL = "icons/full/obj16/invalid_build_tool.gif"; //$NON-NLS-1$
-		IDebugModelPresentation debugModelPresentation= DebugUITools.newDebugModelPresentation();
-
-		private Image builderImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_BUILDER).createImage();
-		private Image invalidBuildToolImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_INVALID_BUILD_TOOL).createImage();
-		
-		public String getText(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandText((ICommand) element);
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelText(element);
-			} else if (element instanceof ErrorConfig) {
-				return ExternalToolsUIMessages.BuilderPropertyPage_invalidBuildTool;
-			}
-			return super.getText(element);
-		}
-		
-		public Image getImage(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandImage();
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelImage(element);
-			} else if (element instanceof ErrorConfig) {
-				return invalidBuildToolImage;
-			}
-			return super.getImage(element);
-		}
-		
-		public String getCommandText(ICommand command) {
-			String builderID = command.getBuilderName();
-			return getBuilderName(builderID);
-		}
-		
-		private String getBuilderName(String builderID) {
-			// Get the human-readable name of the builder
-			IExtension extension = Platform.getExtensionRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, builderID);
-			String builderName;
-			if (extension != null) {
-				builderName = extension.getLabel();
-			} else {
-				builderName = MessageFormat.format(ExternalToolsUIMessages.BuilderPropertyPage_missingBuilder, new Object[] { builderID });
-			}
-			return builderName;
-		}
-		
-		/**
-		 * Returns the image for build commands.
-		 * 
-		 * @return the build command image
-		 */
-		public Image getCommandImage() {
-			return builderImage;
-		}
-		
-		/**
-		 * Returns a text label for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return a text label from a debug model presentation
-		 */
-		public String getDebugModelText(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return getBuilderName(disabledBuilderName);
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getText(element);
-		}
-		
-		/**
-		 * Returns an image for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return an image from a debug model presentation
-		 */
-		public Image getDebugModelImage(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return builderImage;
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getImage(element);
-		}
-			/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-			builderImage.dispose();
-			invalidBuildToolImage.dispose();
-		}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
deleted file mode 100644
index 35cd992..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
+++ /dev/null
@@ -1,1210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.IgnoreWhiteSpaceComparator;
-import org.eclipse.ui.externaltools.internal.model.BuilderUtils;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Property page to add external tools builders.
- */
-public final class BuilderPropertyPage extends PropertyPage implements ICheckStateListener {
-
-	//locally mark a command's enabled state so it can be processed correctly on performOK
-	private static final String COMMAND_ENABLED= "CommandEnabled"; //$NON-NLS-1$
-
-	private Button upButton, downButton, newButton, importButton, editButton, removeButton;
-	
-	private boolean userHasMadeChanges= false;
-	
-	private List configsToBeDeleted= null;
-	private List commandsToBeDeleted= null;
-	
-	private CheckboxTableViewer viewer= null;
-	
-	private ILabelProvider labelProvider= new BuilderLabelProvider();
-	
-	/**
-	 * Error configs are objects representing entries pointing to
-	 * invalid launch configurations
-	 */
-	public class ErrorConfig {
-		private ICommand command;
-		public ErrorConfig(ICommand command) {
-			this.command= command;
-		}
-		public ICommand getCommand() {
-			return command;
-		}
-	}
-	
-	/**
-	 * Collection of configurations created while the page is open.
-	 * Stored here so they can be deleted if the page is cancelled.
-	 */
-	private List newConfigList= new ArrayList();
-	
-	private SelectionListener buttonListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleButtonPressed((Button) e.widget);
-		}
-	};
-	
-	/**
-	 * Launch configuration listener which is responsible for updating items in
-	 * the tree when the user renames configurations in the dialog.
-	 * 
-	 * This is necessary because when we tell the configuration dialog to open
-	 * on a launch config and the user renames that config, the old config (the
-	 * one in the tree) is made obsolete and a new config is created. This
-	 * listener hears when new configurations are created this way and replaces
-	 * the old configuration with the new.
-	 */
-	private ILaunchConfigurationListener configurationListener= new ILaunchConfigurationListener() {
-		/**
-		 * A launch configuration has been added. If this config has been
-		 * movedFrom a configuration in the tree, replace the old config with
-		 * the new.
-		 */
-		public void launchConfigurationAdded(final ILaunchConfiguration configuration) {
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			final ILaunchConfiguration oldConfig= manager.getMovedFrom(configuration);
-			if (oldConfig == null) {
-				return;
-			}
-            //Replace the movedFrom config in the list of newly created configs
-            if (newConfigList.remove(oldConfig)) {
-                newConfigList.add(configuration);
-            }
-			
-			Display.getDefault().asyncExec(new Runnable() {	
-				public void run() {
-					TableItem[] items= viewer.getTable().getItems();
-					for (int i = 0; i < items.length; i++) {
-						TableItem item = items[i];
-						Object data= item.getData();
-						if (data == oldConfig) {
-							// Found the movedFrom config in the tree. Replace it with the new config 
-							item.setData(configuration);
-							viewer.update(configuration, null);
-							break;
-						}
-					}
-				}
-			});
-		}
-		public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		}
-		public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		}
-	};
-
-	/**
-	 * Creates an initialized property page
-	 */
-	public BuilderPropertyPage() {
-		super();
-		noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Add the project's build to the table viewer.
-	 */
-	private void addBuildersToTable() {
-		IProject project = getInputProject();
-		if (project == null) {
-			return;
-		}
-		//add build spec entries to the table
-		ICommand[] commands= null;
-		try {
-			commands = project.getDescription().getBuildSpec();
-		} catch (CoreException e) {
-			handleException(e);
-		}
-	
-		boolean projectNeedsMigration= false;
-		for (int i = 0; i < commands.length; i++) {
-			String[] version= new String[] {""}; //$NON-NLS-1$
-			ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(project, commands[i].getArguments(), version);
-			if (BuilderUtils.VERSION_2_1.equals(version[0])) {
-				// Storing the .project file of a project with 2.1 configs, will
-				// edit the file in a way that isn't backwards compatible.
-				projectNeedsMigration= true;
-			}
-			Object element= null;
-			if (config != null) {
-				if (!config.isWorkingCopy() && !config.exists()) {
-                    Shell shell= getShell();
-                    if (shell == null) {
-                        return;
-                    }
-					IStatus status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, MessageFormat.format(ExternalToolsUIMessages.BuilderPropertyPage_Exists, new String[]{config.getLocation().toOSString()}), null);
-					ErrorDialog.openError(getShell(), ExternalToolsUIMessages.BuilderPropertyPage_errorTitle,
-									MessageFormat.format(ExternalToolsUIMessages.BuilderPropertyPage_External_Tool_Builder__0__Not_Added_2, new String[]{config.getName()}),
-									status);
-					userHasMadeChanges= true;
-				} else {
-					element= config;
-				}
-			} else {
-				String builderID = commands[i].getBuilderName();
-				if (builderID.equals(ExternalToolBuilder.ID) && commands[i].getArguments().get(BuilderUtils.LAUNCH_CONFIG_HANDLE) != null) {
-					// An invalid external tool entry.
-					element= new ErrorConfig(commands[i]);
-				} else {
-					element= commands[i];
-				}
-			}
-			if (element != null) {
-				viewer.add(element);
-				viewer.setChecked(element, isEnabled(element));
-			}
-		}
-		if (projectNeedsMigration) {
-			IPreferenceStore store= ExternalToolsPlugin.getDefault().getPreferenceStore();
-			boolean prompt= store.getBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION);
-			boolean proceed= true;
-			if (prompt) {
-                Shell shell= getShell();
-                if (shell == null) {
-                    return;
-                }
-				MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(shell, ExternalToolsUIMessages.BuilderPropertyPage_0, ExternalToolsUIMessages.BuilderPropertyPage_1, ExternalToolsUIMessages.BuilderPropertyPage_2, false, null, null);
-				proceed= dialog.getReturnCode() == IDialogConstants.YES_ID;
-				store.setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, !dialog.getToggleState());
-			}
-			if (!proceed) {
-				// Open the page read-only
-				viewer.getTable().setEnabled(false);
-				downButton.setEnabled(false);
-				editButton.setEnabled(false);
-				importButton.setEnabled(false);
-				newButton.setEnabled(false);
-				removeButton.setEnabled(false);
-			}
-		}
-	}
-
-	/**
-	 * Creates and returns a button with the given label, id, and enablement.
-	 */
-	private Button createButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		GridData data = new GridData();
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setEnabled(false);
-		button.addSelectionListener(buttonListener);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
-	protected Control createContents(Composite parent) {
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE);
-		
-		Font font = parent.getFont();
-
-		Composite topLevel = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		topLevel.setLayout(layout);
-		topLevel.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label description = new Label(topLevel, SWT.WRAP);
-		description.setText(ExternalToolsUIMessages.BuilderPropertyPage_description);
-		description.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		description.setFont(font);
-
-		Composite tableAndButtons = new Composite(topLevel, SWT.NONE);
-		tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		tableAndButtons.setLayout(layout);
-
-		// table of builders and tools
-		viewer= CheckboxTableViewer.newCheckList(tableAndButtons, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
-		viewer.setLabelProvider(labelProvider);
-		viewer.addCheckStateListener(this);
-		Table builderTable= viewer.getTable();
-		builderTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-		builderTable.setFont(font);
-		builderTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleTableSelectionChanged();
-			}
-		});
-		
-		builderTable.addListener(SWT.MouseDoubleClick, new Listener() {
-			public void handleEvent(Event event) {
-				handleEditButtonPressed();
-			}
-		});
-		
-		//button area
-		Composite buttonArea = new Composite(tableAndButtons, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonArea.setLayout(layout);
-		buttonArea.setFont(font);
-		buttonArea.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		newButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_newButton);
-		importButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage__Import____3);
-		editButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_editButton);
-		removeButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_removeButton);
-		new Label(buttonArea, SWT.LEFT);
-		upButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_upButton);
-		downButton = createButton(buttonArea, ExternalToolsUIMessages.BuilderPropertyPage_downButton);
-
-		newButton.setEnabled(true);
-		importButton.setEnabled(true);
-
-		//populate widget contents	
-		addBuildersToTable();
-
-		return topLevel;
-	}
-	
-	/**
-	 * Turns autobuilding on or off in the workspace.
-	 */
-	private void setAutobuild(boolean newState) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription wsDescription= workspace.getDescription();
-		boolean oldState= wsDescription.isAutoBuilding();
-		if (oldState != newState) {
-			wsDescription.setAutoBuilding(newState);
-			workspace.setDescription(wsDescription);
-		}
-	}
-
-	/**
-	 * Returns the project that is the input for this property page,
-	 * or <code>null</code>.
-	 */
-	private IProject getInputProject() {
-		IAdaptable element = getElement();
-		if (element instanceof IProject) {
-			return (IProject) element;
-		}
-		Object resource = element.getAdapter(IResource.class);
-		if (resource instanceof IProject) {
-			return (IProject) resource;
-		}
-		return null;
-	}
-
-	/**
-	 * One of the buttons has been pressed, act accordingly.
-	 */
-	private void handleButtonPressed(Button button) {
-		if (button == newButton) {
-			handleNewButtonPressed();
-		} else if (button == importButton) {
-			handleImportButtonPressed();
-		} else if (button == editButton) {
-			handleEditButtonPressed();
-		} else if (button == removeButton) {
-			handleRemoveButtonPressed();
-		} else if (button == upButton) {
-			moveSelectionUp();
-		} else if (button == downButton) {
-			moveSelectionDown();
-		}
-        if (getControl().isDisposed()) {
-            return;
-        }
-		handleTableSelectionChanged();
-		viewer.getTable().setFocus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-	 */
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		Object element= event.getElement();
-		if (element instanceof ILaunchConfiguration) {
-			enableLaunchConfiguration((ILaunchConfiguration) element, event.getChecked());
-		} else if (element instanceof ICommand) {
-            Shell shell= getShell();
-            if (shell == null) {
-                return;
-            }
-			if (MessageDialog.openConfirm(shell, ExternalToolsUIMessages.BuilderPropertyPage_6, ExternalToolsUIMessages.BuilderPropertyPage_7)) {
-				enableCommand((ICommand)element, event.getChecked());
-			} else {
-				viewer.removeCheckStateListener(this);
-				viewer.setChecked(element, true);
-				viewer.addCheckStateListener(this);
-			}
-		}
-	}
-
-	private void enableLaunchConfiguration(ILaunchConfiguration configuration, boolean enable) {
-		ILaunchConfigurationWorkingCopy workingCopy= null;
-		try {
-			if (configuration instanceof ILaunchConfigurationWorkingCopy) {
-				workingCopy = (ILaunchConfigurationWorkingCopy) configuration;
-			} else {
-				// Replace the config with a working copy
-				TableItem[] items= viewer.getTable().getItems();
-				for (int i = 0; i < items.length; i++) {
-					TableItem item = items[i];
-					if (item.getData() == configuration) {
-						workingCopy = configuration.getWorkingCopy();
-						item.setData(workingCopy);
-					}
-				}
-			}
-			if (workingCopy != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, enable);
-			}
-		} catch (CoreException e) {
-			return;
-		}
-		userHasMadeChanges= true;
-	}
-	
-	private void enableCommand(ICommand command, boolean enable) {
-		Map args= command.getArguments();
-		if (args == null) {
-			args= new HashMap(1);
-		}
-		args.put(COMMAND_ENABLED, Boolean.valueOf(enable));
-		command.setArguments(args);
-		userHasMadeChanges= true;
-	}
-
-	/**
-	 * The user has pressed the import button. Prompt them to select a
-	 * configuration to import from the workspace.
-	 */	
-	private void handleImportButtonPressed() {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		List toolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY);
-		List configurations= new ArrayList();
-		Iterator iter= toolTypes.iterator();
-		while (iter.hasNext()) {
-			try {
-				ILaunchConfiguration[] configs= manager.getLaunchConfigurations((ILaunchConfigurationType) iter.next());
-				for (int i = 0; i < configs.length; i++) {
-					configurations.add(configs[i]);	
-				}
-			} catch (CoreException e) {
-			}
-		}
-        Shell shell= getShell();
-        if (shell == null) {
-            return;
-        }
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(shell, new BuilderLabelProvider());
-		dialog.setTitle(ExternalToolsUIMessages.BuilderPropertyPage_4);
-		dialog.setMessage(ExternalToolsUIMessages.BuilderPropertyPage_5);
-		dialog.setElements(configurations.toArray());
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		Object results[]= dialog.getResult();
-		if (results.length == 0) { //OK pressed with nothing selected
-			return;
-		}
-		ILaunchConfiguration config= (ILaunchConfiguration) results[0];
-		ILaunchConfiguration newConfig= null;
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-			newConfig= BuilderUtils.duplicateConfiguration(getInputProject(), config);
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		if (newConfig != null) {
-			userHasMadeChanges= true;
-			viewer.add(newConfig);
-			viewer.setChecked(newConfig, isEnabled(newConfig));
-			newConfigList.add(newConfig);
-		}
-	}
-	
-	/**
-	 * The user has pressed the remove button. Delete the selected builder.
-	 */
-	private void handleRemoveButtonPressed() {
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection != null) {
-			int numSelected= selection.size();
-			userHasMadeChanges= true;
-			Iterator iterator= selection.iterator();
-			while (iterator.hasNext()) {
-				Object item= iterator.next();
-				if (item instanceof ILaunchConfiguration) {
-					if (configsToBeDeleted == null) {
-						configsToBeDeleted= new ArrayList(numSelected);
-					}
-					configsToBeDeleted.add(item);
-				} else if (item instanceof ICommand) {
-					if (commandsToBeDeleted == null) {
-						commandsToBeDeleted= new ArrayList(numSelected);
-					}
-					commandsToBeDeleted.add(item);
-				}
-				viewer.remove(item);
-			}
-		}
-	}
-	
-	/**
-	 * The user has pressed the new button. Create a new configuration and open
-	 * the launch configuration edit dialog on the new config.
-	 */
-	private void handleNewButtonPressed() {
-		ILaunchConfigurationType type = promptForConfigurationType();
-		if (type == null) {
-			return;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(ExternalToolsUIMessages.BuilderPropertyPage_New_Builder_7);
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-			
-			StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-			buffer.append(',');
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-			buffer.append(',');
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-			workingCopy.setAttribute(ExternalToolsMainTab.FIRST_EDIT, true);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			//needs to be added here in case the user hits apply in the edit dialog
-			//then we can correctly update the list with the new config.
-			newConfigList.add(config);
-			int code= editConfiguration(config);
-			if (code == Window.CANCEL) {
-				// If the user cancelled, delete the newly created config
-				newConfigList.remove(config);
-				config.delete();
-			} else {
-				userHasMadeChanges= true;
-				//retrieve the last "new" config
-				//may have been changed by the user pressing apply in the edit dialog
-				config= (ILaunchConfiguration)newConfigList.get(newConfigList.size() - 1);
-				viewer.add(config);
-				viewer.setChecked(config, isEnabled(config));
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Prompts the user to edit the given launch configuration. Returns the
-	 * return code from opening the launch configuration dialog.
-	 */
-	private int editConfiguration(ILaunchConfiguration config) {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		manager.addLaunchConfigurationListener(configurationListener);
-        Shell shell= getShell();
-        if (shell == null) {
-            return Window.CANCEL;
-        }
-		int code= DebugUITools.openLaunchConfigurationPropertiesDialog(shell, config, IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP);
-		manager.removeLaunchConfigurationListener(configurationListener);
-		return code;
-	}
-	
-	/**
-	 * Prompts the user to choose a launch configuration type to create and
-	 * returns the type the user selected or <code>null</code> if the user
-	 * cancelled.
-	 * 
-	 * @return the configuration type selected by the user or <code>null</code>
-	 * if the user cancelled.
-	 */
-	private ILaunchConfigurationType promptForConfigurationType() {
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-        Shell shell= getShell();
-        if (shell == null) {
-            return null;
-        }
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new BuilderLabelProvider());
-		dialog.setElements(externalToolTypes.toArray());
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(ExternalToolsUIMessages.BuilderPropertyPage_Choose_configuration_type_8);
-		dialog.setMessage(ExternalToolsUIMessages.BuilderPropertyPage_Choose_an_external_tool_type_to_create_9);
-		dialog.open();
-		Object result[] = dialog.getResult();
-		if (result == null || result.length == 0) {
-			return null;
-		}
-		return (ILaunchConfigurationType) result[0];
-	}
-	
-	/**
-	 * Returns the launch configuration types of the given category
-	 */
-	private List getConfigurationTypes(String category) {
-		ILaunchConfigurationType types[] = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		List externalToolTypes = new ArrayList();
-		for (int i = 0; i < types.length; i++) {
-			ILaunchConfigurationType configurationType = types[i];
-			if (category.equals(configurationType.getCategory())) {
-				externalToolTypes.add(configurationType);
-			}
-		}
-		return externalToolTypes;
-	}
-	
-	/**
-	 * The user has pressed the edit button or double-clicked. Open the launch configuration edit
-	 * dialog on the selection after migrating the tool if necessary.
-	 */
-	private void handleEditButtonPressed() {
-		TableItem[] items= viewer.getTable().getSelection();
-		if (items.length == 0) {
-			return;
-		}
-		TableItem selection= items[0];
-		if (selection != null) {
-			Object data = selection.getData();
-			if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				if (BuilderUtils.isUnmigratedConfig(config)) {
-					if (!shouldProceedWithMigration()) {
-						return;
-					}
-					try {
-						config= BuilderUtils.migrateBuilderConfiguration(getInputProject(), (ILaunchConfigurationWorkingCopy) config);
-					} catch (CoreException e) {
-						handleException(e);
-						return;
-					}
-					// Replace the working copy in the table with the migrated configuration
-					selection.setData(config);
-				}
-				userHasMadeChanges= true;
-				boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-				try {
-					setAutobuild(false);
-					editConfiguration(config);
-				} catch (CoreException e) {
-					handleException(e);
-				} finally {
-					try {
-						setAutobuild(wasAutobuilding);
-					} catch (CoreException e) {
-						handleException(e);
-					}
-				}
-			} else if (data instanceof ICommand) {
-				ICommand command= (ICommand) data;
-				if (command.isConfigurable()) {
-					if (editCommand(command)) {
-						userHasMadeChanges= true;	
-					}
-				}
-			}
-		}
-	}
-	
-	private boolean editCommand(ICommand data) {
-		EditCommandDialog dialog= new EditCommandDialog(getShell(), data);
-		return Window.OK == dialog.open();
-	}
-
-	/**
-	 * Prompts the user to proceed with the migration of a project builder from
-	 * the old format to the new, launch configuration-based, format and returns
-	 * whether or not the user wishes to proceed with the migration.
-	 * 
-	 * @return boolean whether or not the user wishes to proceed with migration
-	 */
-	private boolean shouldProceedWithMigration() {
-		if (!ExternalToolsPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION)) {
-			// User has asked not to be prompted
-			return true;
-		}
-        Shell shell= getShell();
-        if (shell == null) {
-            return false;
-        }
-		// Warn the user that editing an old config will cause storage migration.
-		MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(getShell(), 
-			ExternalToolsUIMessages.BuilderPropertyPage_Migrate_project_builder_10,
-			ExternalToolsUIMessages.BuilderPropertyPage_Not_Support,
-			ExternalToolsUIMessages.BuilderPropertyPage_Prompt,
-			false,
-			ExternalToolsPlugin.getDefault().getPreferenceStore(), 
-			IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION);
-		return dialog.getReturnCode() == IDialogConstants.YES_ID;
-	}
-
-	/**
-	 * Handles unexpected internal exceptions
-	 */
-	private void handleException(Exception e) {
-		IStatus status;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsUIMessages.BuilderPropertyPage_statusMessage, e);
-		}
-        Shell shell= getShell();
-        if (shell != null) {
-            ErrorDialog.openError(shell, ExternalToolsUIMessages.BuilderPropertyPage_errorTitle,
-                    ExternalToolsUIMessages.BuilderPropertyPage_errorMessage,
-                    status);
-        }
-	}
-
-	/**
-	 * The user has selected a different builder in table.
-	 * Update button enablement.
-	 */
-	private void handleTableSelectionChanged() {
-		newButton.setEnabled(true);
-		Table builderTable= viewer.getTable();
-		TableItem[] items = builderTable.getSelection();
-		boolean validSelection= items != null && items.length > 0;
-		boolean enableEdit= validSelection;
-		boolean enableRemove= validSelection;
-		boolean enableUp= validSelection;
-		boolean enableDown= validSelection;
-		if (validSelection) {
-			if (items.length > 1) {
-				enableEdit= false;
-			}
-			int indices[]= builderTable.getSelectionIndices();
-			int max = builderTable.getItemCount();
-			enableUp= indices[0] != 0;
-			enableDown= indices[indices.length - 1] < max - 1;
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				Object data= item.getData();
-				if (data instanceof ILaunchConfiguration) {
-					ILaunchConfiguration config= (ILaunchConfiguration)data;
-					String builderName= null;
-					try {
-						builderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					} catch (CoreException e) {
-					}
-					if (builderName != null) {
-						//do not allow "wrapped" builders to be removed or edited if they are valid
-						IExtension ext= Platform.getExtensionRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, builderName);
-						enableEdit= false;
-						enableRemove= ext == null;
-					}
-				} else {
-					if (data instanceof ErrorConfig) {
-						enableEdit= false;
-						continue;
-					}
-					ICommand command= (ICommand) data;
-					enableEdit= command.isConfigurable();
-					IExtension ext= Platform.getExtensionRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, command.getBuilderName());
-					enableRemove= ext == null;
-					break;
-				}
-			}
-		}
-		editButton.setEnabled(enableEdit);
-		removeButton.setEnabled(enableRemove);
-		upButton.setEnabled(enableUp);
-		downButton.setEnabled(enableDown);
-	}
-	
-	/**
-	 * Returns whether the given element (command or launch config)
-	 * is enabled.
-	 * 
-	 * @param element the element
-	 * @return whether the given element is enabled
-	 */
-	private boolean isEnabled(Object element) {
-		if (element instanceof ICommand) {
-			Boolean enabled= (Boolean)((ICommand) element).getArguments().get(COMMAND_ENABLED);
-			if (enabled != null) {
-				return enabled.booleanValue();
-			}
-		} else if (element instanceof ILaunchConfiguration) {
-			try {
-				return ExternalToolsUtil.isBuilderEnabled((ILaunchConfiguration) element);
-			} catch (CoreException e) {
-			}
-		} else if (element instanceof ErrorConfig) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Moves an entry in the builder table to the given index.
-	 */
-	private void move(TableItem item, int index) {
-		userHasMadeChanges= true;
-		Object data = item.getData();
-		item.dispose();
-		viewer.insert(data, index);
-		viewer.setChecked(data, isEnabled(data));
-	}
-
-	/**
-	 * Move the current selection in the build list down.
-	 */
-	private void moveSelectionDown() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		if (indices.length < 1) {
-			return;
-		}
-		int newSelection[]= new int[indices.length];
-		int max= builderTable.getItemCount() - 1;
-		for (int i = indices.length - 1; i >= 0; i--) {
-			int index= indices[i];
-			if (index < max) {
-				move (builderTable.getItem(index), index + 1);
-				newSelection[i]= index + 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/**
-	 * Move the current selection in the build list up.
-	 */
-	private void moveSelectionUp() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		int newSelection[]= new int[indices.length];
-		for (int i = 0; i < indices.length; i++) {
-			int index= indices[i];
-			if (index > 0) {
-				move (builderTable.getItem(index), index - 1);
-				newSelection[i]= index - 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (!userHasMadeChanges) {
-			return super.performOk();
-		}
-		userHasMadeChanges= false;
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		final Object[] itemData= new Object[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			itemData[i]= builderTable.getItem(i).getData();
-		}
-		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-				doPerformOk(monitor, itemData);
-				if (monitor.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		};
-		
-		IProgressService service= PlatformUI.getWorkbench().getProgressService();
-		try {
-			service.busyCursorWhile(runnable);
-		} catch (InvocationTargetException e) {
-			return false;
-		} catch (InterruptedException e) {
-			return false;		
-		}
-		return super.performOk();
-	}
-	
-	private void doPerformOk(IProgressMonitor monitor, Object[] itemData) {
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		IProject project = getInputProject();
-		//get all the build commands
-		int numCommands = itemData.length;
-		monitor.beginTask(ExternalToolsUIMessages.BuilderPropertyPage_3, numCommands + 1);
-		List possibleCommands= new ArrayList(numCommands);
-		for (int i = 0; i < numCommands; i++) {
-			Object data = itemData[i];
-			if (data instanceof ICommand) {
-				if (commandsToBeDeleted != null && commandsToBeDeleted.contains(data)) {
-					//command specified to be removed
-					data= null;
-				}
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				Boolean enabled= (Boolean)args.get(COMMAND_ENABLED);
-				if (enabled != null && enabled.equals(Boolean.FALSE)) {
-					ILaunchConfiguration config= disableCommand(command);
-					if (config != null) {
-						data= BuilderUtils.commandFromLaunchConfig(project,config);
-					}
-				} else {
-					args.remove(COMMAND_ENABLED);
-					command.setArguments(args);
-				}
-			} else if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				String disabledBuilderName;
-				try {
-					disabledBuilderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null && ExternalToolsUtil.isBuilderEnabled(config)) {
-						possibleCommands.add(translateBackToCommand(config, project));
-						continue;
-					}
-				} catch (CoreException e1) {
-				}
-				
-				if (!BuilderUtils.isUnmigratedConfig(config) && (config instanceof ILaunchConfigurationWorkingCopy)) {
-					ILaunchConfigurationWorkingCopy workingCopy= ((ILaunchConfigurationWorkingCopy) config);
-					// Save any changes to the config (such as enable/disable)
-					if (workingCopy.isDirty()) {
-						try {
-							workingCopy.doSave();
-						} catch (CoreException e) {
-                            Shell shell= getShell();
-                            if (shell != null) {
-                                MessageDialog.openError(shell, ExternalToolsUIMessages.BuilderPropertyPage_39, MessageFormat.format(ExternalToolsUIMessages.BuilderPropertyPage_40, new String[] {workingCopy.getName()}));
-                            }
-						}
-					}
-				}
-				data= BuilderUtils.commandFromLaunchConfig(project, config);
-			} else if (data instanceof ErrorConfig) {
-				data= ((ErrorConfig) data).getCommand();
-			}
-			if (data != null) {
-				possibleCommands.add(data);
-			}
-			monitor.worked(1);
-		}
-		ICommand[] commands= new ICommand[possibleCommands.size()];
-		possibleCommands.toArray(commands);
-		if (checkCommandsForChange(commands)) {
-			//set the build spec
-			try {
-				IProjectDescription desc = project.getDescription();
-				desc.setBuildSpec(commands);
-				project.setDescription(desc, IResource.FORCE, monitor);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		
-		if (configsToBeDeleted != null) {
-			deleteConfigurations();
-		}
-		monitor.done();
-	}
-	
-	private void checkBuilderFolder() {
-		try {
-			IFolder builderFolder= BuilderUtils.getBuilderFolder(getInputProject(), false);
-			if (builderFolder != null && builderFolder.exists() && builderFolder.members().length == 0) {
-				// All files in the builder folder have been deleted. Clean up
-				builderFolder.delete(true, false, null);
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		}
-	}
-
-	/**
-	 * A non-external tool builder builder was disabled.
-	 * It has been re-enabled. Translate the disabled external tool builder launch configuration
-	 * wrapper back into the full fledged builder command.
-	 */
-	private ICommand translateBackToCommand(ILaunchConfiguration config, IProject project) {
-		try {
-			ICommand newCommand = project.getDescription().newCommand();
-			String builderName= config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-			Map args= config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, new HashMap(0));
-			
-			newCommand.setBuilderName(builderName);
-			newCommand.setArguments(args);
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList();
-			}
-			configsToBeDeleted.add(config);
-			return newCommand;
-		} catch (CoreException exception) {
-            Shell shell= getShell();
-            if (shell != null) {
-                MessageDialog.openError(shell, ExternalToolsUIMessages.BuilderPropertyPage_13, ExternalToolsUIMessages.BuilderPropertyPage_error);
-            }
-			return null;
-		}
-	}
-	
-	/**
-	 * Disables a builder by wrappering the builder command as a disabled external tool builder.
-	 * The details of the command is persisted in the launch configuration.
-	 */
-	private ILaunchConfiguration disableCommand(ICommand command) {
-		Map arguments= command.getArguments();
-		if (arguments != null) {
-			arguments.remove(COMMAND_ENABLED);
-		}
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-		if (externalToolTypes.size() == 0) {
-			return null;
-		}
-		ILaunchConfigurationType type= (ILaunchConfigurationType)externalToolTypes.get(0);
-		if (type == null) {
-			return null;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String builderName = command.getBuilderName();
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(builderName);
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-					
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, builderName);
-			if (arguments != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-			}
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, false);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			return config;
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		return null;
-	}
-
-	private void deleteConfigurations() {
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-		
-			Iterator itr= configsToBeDeleted.iterator();
-			while (itr.hasNext()) {
-				ILaunchConfiguration element = (ILaunchConfiguration) itr.next();
-				element.delete();
-			}
-			
-			checkBuilderFolder();
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether any of the commands have changed.
-	 */
-	private boolean checkCommandsForChange(ICommand[] newCommands) {
-		try {
-			ICommand[] oldCommands = getInputProject().getDescription().getBuildSpec();
-			if (oldCommands.length != newCommands.length) {
-				return true;
-			}
-			IgnoreWhiteSpaceComparator comparator= new IgnoreWhiteSpaceComparator();
-			for (int i = 0; i < oldCommands.length; i++) {
-				ICommand oldCommand = oldCommands[i];
-				ICommand newCommand= newCommands[i];
-				String oldName= oldCommand.getBuilderName();
-				String newName= newCommand.getBuilderName();
-				if (oldName == null && newName != null) {
-					return true;
-				}
-				
-				if(oldName != null && !oldName.equals(newName)) {
-					return true;
-				}
-				Map oldArgs= oldCommand.getArguments();
-				Map newArgs= newCommand.getArguments();
-				if (oldArgs == null && newArgs != null) {
-					return true;
-				}
-				if (oldArgs == null && newArgs == null) {
-					continue;
-				}
-				if(oldArgs.size() != newArgs.size()) {
-					return true;
-				}
-				Iterator keySet= oldArgs.keySet().iterator();
-				while (keySet.hasNext()) {
-					Object key = keySet.next();
-					Object oldArg= oldArgs.get(key);
-					Object newArg= newArgs.get(key);
-					if (oldArg instanceof String && newArg instanceof String) {
-						if (comparator.compare(oldArg, newArg) != 0) {
-							return true;
-						}
-					} else if (!oldArg.equals(newArg)){
-						return true;
-					}
-				}
-				
-				if (oldCommand.isBuilding(IncrementalProjectBuilder.AUTO_BUILD) != newCommand.isBuilding(IncrementalProjectBuilder.AUTO_BUILD)
-						|| oldCommand.isBuilding(IncrementalProjectBuilder.CLEAN_BUILD) != newCommand.isBuilding(IncrementalProjectBuilder.CLEAN_BUILD)
-						|| oldCommand.isBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD) != newCommand.isBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD)
-						|| oldCommand.isBuilding(IncrementalProjectBuilder.FULL_BUILD) != newCommand.isBuilding(IncrementalProjectBuilder.FULL_BUILD)) {
-					return true;
-				}
-			}
-		} catch (CoreException ce) {
-			return true;
-		}
-		return false;	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		Iterator iter= newConfigList.iterator();
-		while (iter.hasNext()) {
-			try {
-				((ILaunchConfiguration) iter.next()).delete();
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		
-		checkBuilderFolder();
-		
-		//remove the local marking of the enabled state of the commands
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		for (int i = 0; i < numCommands; i++) {
-			Object data = builderTable.getItem(i).getData();
-			if (data instanceof ICommand) {
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				args.remove(COMMAND_ENABLED);
-				command.setArguments(args);
-			}
-		}
-		return super.performCancel();
-	}
-    
-    public Shell getShell() {
-        if (getControl().isDisposed()) {
-			return null;
-        }
-        return super.getShell();
-    }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java
deleted file mode 100644
index 4a2befe..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog to alter the triggers of an ICommand that represents a builder.
- */
-public class EditCommandDialog extends Dialog {
-
-	private Button fFullButton;
-	private Button fIncrementalButton;
-	private Button fAutoButton;
-	private Button fCleanButton;
-	
-	private ICommand fCommand;
-	
-	public EditCommandDialog(Shell parentShell, ICommand command) {
-		super(parentShell);
-		fCommand= command;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		
-		getShell().setText(ExternalToolsUIMessages.EditCommandDialog_0);
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		Label label= new Label(composite, SWT.NONE);
-		label.setText(ExternalToolsUIMessages.EditCommandDialog_1);
-		
-		fFullButton = new Button(composite, SWT.CHECK);
-		fFullButton.setText(ExternalToolsUIMessages.EditCommandDialog_2);
-		fFullButton.setSelection(fCommand.isBuilding(IncrementalProjectBuilder.FULL_BUILD));
-		fIncrementalButton = new Button(composite, SWT.CHECK);
-		fIncrementalButton.setText(ExternalToolsUIMessages.EditCommandDialog_3);
-		fIncrementalButton.setSelection(fCommand.isBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD));
-		fAutoButton = new Button(composite, SWT.CHECK);
-		fAutoButton.setText(ExternalToolsUIMessages.EditCommandDialog_4);
-		fAutoButton.setSelection(fCommand.isBuilding(IncrementalProjectBuilder.AUTO_BUILD));
-		
-		fCleanButton = new Button(composite, SWT.CHECK);
-		fCleanButton.setText(ExternalToolsUIMessages.EditCommandDialog_5);
-		fCleanButton.setSelection(fCommand.isBuilding(IncrementalProjectBuilder.CLEAN_BUILD));
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fCommand.setBuilding(IncrementalProjectBuilder.FULL_BUILD, fFullButton.getSelection());
-		fCommand.setBuilding(IncrementalProjectBuilder.INCREMENTAL_BUILD, fIncrementalButton.getSelection());
-		fCommand.setBuilding(IncrementalProjectBuilder.AUTO_BUILD, fAutoButton.getSelection());
-		fCommand.setBuilding(IncrementalProjectBuilder.CLEAN_BUILD, fCleanButton.getSelection());
-		
-		super.okPressed();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
deleted file mode 100644
index 46c8cdf..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-
-/**
- * Preference page that allows the user to customize external tools
- */
-public class ExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button promptForToolMigrationButton;
-	private Button promptForProjectMigrationButton;
-	
-	public ExternalToolsPreferencePage() {
-		setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore());
-		setDescription(ExternalToolsUIMessages.ExternalToolsPreferencePage_External_tool_project_builders_migration_2);
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_PREFERENCE_PAGE);
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-				
-		promptForToolMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.ExternalToolsPreferencePage_Prompt_before_migrating_3, IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION);
-		promptForProjectMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.ExternalToolsPreferencePage_1, IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION);
-		
-		applyDialogFont(composite);
-		
-		return composite;
-	}
-	
-	/**
-	 * Returns a new check button with the given label for the given preference.
-	 */
-	private Button createCheckButton(Composite parent, String label, String preferenceKey) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setSelection(getPreferenceStore().getBoolean(preferenceKey));
-		return button;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, promptForToolMigrationButton.getSelection());
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, promptForProjectMigrationButton.getSelection());
-		return super.performOk();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION));
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION));
-		super.performDefaults();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
deleted file mode 100644
index d07e86a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ExternalToolsUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages";//$NON-NLS-1$
-
-	public static String BuilderPropertyPage_description;
-	public static String BuilderPropertyPage_newButton;
-	public static String BuilderPropertyPage_editButton;
-	public static String BuilderPropertyPage_removeButton;
-	public static String BuilderPropertyPage_upButton;
-	public static String BuilderPropertyPage_downButton;
-	public static String BuilderPropertyPage_statusMessage;
-	public static String BuilderPropertyPage_errorTitle;
-	public static String BuilderPropertyPage_errorMessage;
-	public static String BuilderPropertyPage_invalidBuildTool;
-	public static String BuilderPropertyPage_missingBuilder;
-	public static String BuilderPropertyPage_Exists;
-	public static String BuilderPropertyPage_External_Tool_Builder__0__Not_Added_2;
-	public static String BuilderPropertyPage__Import____3;
-	public static String BuilderPropertyPage_New_Builder_7;
-	public static String BuilderPropertyPage_Choose_configuration_type_8;
-	public static String BuilderPropertyPage_Choose_an_external_tool_type_to_create_9;
-	public static String BuilderPropertyPage_Migrate_project_builder_10;
-	public static String BuilderPropertyPage_Not_Support;
-	public static String BuilderPropertyPage_Prompt;
-	public static String BuilderPropertyPage_error;
-	public static String BuilderPropertyPage_0;
-	public static String BuilderPropertyPage_2;
-	public static String BuilderPropertyPage_1;
-	public static String BuilderPropertyPage_4;
-	public static String BuilderPropertyPage_5;
-	public static String BuilderPropertyPage_13;
-	public static String BuilderPropertyPage_39;
-	public static String BuilderPropertyPage_3;
-	public static String BuilderPropertyPage_6;
-	public static String BuilderPropertyPage_7;
-	public static String BuilderPropertyPage_40;
-
-	public static String FileSelectionDialog_Choose_Location_1;
-	public static String FileSelectionDialog_Ok_2;
-	public static String FileSelectionDialog_Cancel_3;
-
-	public static String ExternalToolsPreferencePage_External_tool_project_builders_migration_2;
-	public static String ExternalToolsPreferencePage_Prompt_before_migrating_3;
-	public static String ExternalToolsPreferencePage_1;
-
-	public static String ExternalToolMigration_37;
-	public static String ExternalToolMigration_38;
-	public static String EditCommandDialog_0;
-	public static String EditCommandDialog_1;
-	public static String EditCommandDialog_2;
-	public static String EditCommandDialog_3;
-	public static String EditCommandDialog_4;
-	public static String EditCommandDialog_5;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ExternalToolsUIMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
deleted file mode 100644
index 10ab0e6..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BuilderPropertyPage_description = Configure the builders for the &project:
-BuilderPropertyPage_newButton = &New...
-BuilderPropertyPage_editButton = &Edit...
-BuilderPropertyPage_removeButton = &Remove
-BuilderPropertyPage_upButton = &Up
-BuilderPropertyPage_downButton = &Down
-BuilderPropertyPage_statusMessage = Internal error
-BuilderPropertyPage_errorTitle = External Tool Builder Problem
-BuilderPropertyPage_errorMessage = Internal error
-BuilderPropertyPage_invalidBuildTool = Invalid External Tool Builder
-BuilderPropertyPage_missingBuilder = Missing builder ({0})
-BuilderPropertyPage_Exists=Builder launch configuration {0} no longer exists
-BuilderPropertyPage_External_Tool_Builder__0__Not_Added_2=External Tool Builder {0} Not Added
-BuilderPropertyPage__Import____3=&Import...
-BuilderPropertyPage_New_Builder_7=New_Builder
-BuilderPropertyPage_Choose_configuration_type_8=Choose configuration type
-BuilderPropertyPage_Choose_an_external_tool_type_to_create_9=&Choose an external tool type to create:
-BuilderPropertyPage_Migrate_project_builder_10=Migrate project builder
-BuilderPropertyPage_Not_Support=This project builder is stored in a format that is no longer supported. If you wish to edit this builder, it will first be migrated to a new format. If you proceed, this project builder will not be understood by installations using the old format.\n\nProceed with migration?
-BuilderPropertyPage_Prompt=&Do not prompt before migrating project builders
-BuilderPropertyPage_error=An error occurred while saving the project\'s build commands
-BuilderPropertyPage_0=Project Migration
-BuilderPropertyPage_2=&Do not prompt before migrating projects
-BuilderPropertyPage_1=This project stores its builders in a format that is no longer supported. If any changes are made, the project will be migrated to the new format which will not be understood by installations using the old format.\n\nProceed? (Selecting "No" will open the page read-only)
-BuilderPropertyPage_4=Import launch configuration
-BuilderPropertyPage_5=&Choose a launch configuration from the workspace to import.\nThis will create a copy of the selected configuration.
-BuilderPropertyPage_13=Command error
-BuilderPropertyPage_39=Error Saving Builder
-BuilderPropertyPage_3=Updating builders...
-BuilderPropertyPage_6=Confirm Disable Builder
-BuilderPropertyPage_7=This is an advanced operation. Disabling a project builder can have many side-effects. Continue?
-BuilderPropertyPage_40=An exception occurred while attempting to save builder {0}
-
-FileSelectionDialog_Choose_Location_1=Choose Location
-FileSelectionDialog_Ok_2=Ok
-FileSelectionDialog_Cancel_3=Cancel
-
-ExternalToolsPreferencePage_External_tool_project_builders_migration_2=External tool project builders stored in an old format will be migrated to a new format when edited. Projects which store builders using an old format will be migrated whenever a change is made. Once migrated, project builders will not be understood by installations using these older formats.
-ExternalToolsPreferencePage_Prompt_before_migrating_3=&Confirm before migrating external tool project builders for edit
-ExternalToolsPreferencePage_1=C&onfirm before migrating projects to the new format
-
-ExternalToolMigration_37=An exception occurred accessing external tool\'s \"run in background\" attribute
-ExternalToolMigration_38=An exception occurred attempting to migrate external tool\'s \"run in background\" attribute
-EditCommandDialog_0=Configure Builder
-EditCommandDialog_1=Run this builder:
-EditCommandDialog_2=After a "&Clean"
-EditCommandDialog_3=During &manual builds
-EditCommandDialog_4=During &auto builds
-EditCommandDialog_5=&During a "Clean"
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
deleted file mode 100644
index db5a4b1..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Dialog for selecting a file in the workspace. Derived from
- * org.eclipse.ui.dialogs.ResourceSelectionDialog
- */
-public class FileSelectionDialog extends MessageDialog {
-	// the root element to populate the viewer with
-	private IAdaptable root;
-
-	// the visual selection widget group
-	private TreeAndListGroup selectionGroup;
-	// constants
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 300;
-	/**
-	 * The file(s) selected by the user.
-	 */
-	private IStructuredSelection result = null;
-
-	private boolean allowMultiselection= false;
-
-    private Pattern fPattern;
-	/**
-	 * Creates a resource selection dialog rooted at the given element.
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param rootElement
-	 *            the root element to populate this dialog with
-	 * @param message
-	 *            the message to be displayed at the top of this dialog, or
-	 *            <code>null</code> to display a default message
-	 */
-	public FileSelectionDialog(Shell parentShell, IAdaptable rootElement, String message) {
-		super(parentShell, ExternalToolsUIMessages.FileSelectionDialog_Choose_Location_1, null, message, MessageDialog.NONE, new String[] { ExternalToolsUIMessages.FileSelectionDialog_Ok_2, ExternalToolsUIMessages.FileSelectionDialog_Cancel_3}, 0);
-		root = rootElement;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	
-	/**
-	 * Limits the files displayed in this dialog to files matching the given
-	 * pattern. The string can be a filename or a regular expression containing
-	 * '*' for any series of characters or '?' for any single character.
-	 * 
-	 * @param pattern
-	 *            a pattern used to filter the displayed files or <code>null</code>
-	 *            to display all files. If a pattern is supplied, only files
-	 *            whose names match the given pattern will be available for
-	 *            selection.
-	 * @param ignoreCase
-	 *            if true, case is ignored. If the pattern argument is <code>null</code>,
-	 *            this argument is ignored.
-	 */
-	public void setFileFilter(String pattern, boolean ignoreCase) {
-	    if (pattern != null) {
-	        if (ignoreCase) {
-	            fPattern = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
-	        } else {
-	            fPattern = Pattern.compile(pattern);
-	        }
-	    } else {
-	        fPattern = null;
-	    }
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IExternalToolsHelpContextIds.FILE_SELECTION_DIALOG);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		initializeDialog();
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		//create the input element, which has the root resource
-		//as its only child
-		selectionGroup =
-			new TreeAndListGroup(
-				composite,
-				root,
-				getResourceProvider(
-					IResource.FOLDER | IResource.PROJECT | IResource.ROOT),
-				new WorkbenchLabelProvider(),
-				getResourceProvider(IResource.FILE),
-				new WorkbenchLabelProvider(),
-				SWT.NONE,
-				// since this page has no other significantly-sized
-				// widgets we need to hardcode the combined widget's
-				// size, otherwise it will open too small
-				SIZING_SELECTION_WIDGET_WIDTH, SIZING_SELECTION_WIDGET_HEIGHT,
-				allowMultiselection);
-		
-		composite.addControlListener(new ControlListener() {
-			public void controlMoved(ControlEvent e) {
-			}
-			public void controlResized(ControlEvent e) {
-				//Also try and reset the size of the columns as appropriate
-				TableColumn[] columns =
-					selectionGroup.getListTable().getColumns();
-				for (int i = 0; i < columns.length; i++) {
-					columns[i].pack();
-				}
-			}
-		});
-
-		return composite;
-	}
-	/**
-	 * Returns a content provider for <code>IResource</code> s that returns
-	 * only children of the given resource type.
-	 */
-	private ITreeContentProvider getResourceProvider(final int resourceType) {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof IContainer) {
-					IResource[] members = null;
-					try {
-						members = ((IContainer) o).members();
-						List accessibleMembers = new ArrayList(members.length);
-						for (int i = 0; i < members.length; i++) {
-							IResource resource = members[i];
-							if (resource.isAccessible()) {
-								accessibleMembers.add(resource);
-							}
-						}
-						members =
-							(IResource[]) accessibleMembers.toArray(
-								new IResource[accessibleMembers.size()]);
-					} catch (CoreException e) {
-						//just return an empty set of children
-						return new Object[0];
-					}
-
-					//filter out the desired resource types
-					ArrayList results = new ArrayList();
-					for (int i = 0; i < members.length; i++) {
-						//And the test bits with the resource types to see if
-						// they are what we want
-						if ((members[i].getType() & resourceType) > 0) {
-							if (members[i].getType() == IResource.FILE
-								&& fPattern != null
-								&& !fPattern.matcher(members[i].getName()).find()) {
-								continue;
-							}
-							results.add(members[i]);
-						}
-					}
-					return results.toArray();
-				}
-				
-				return new Object[0];
-			}
-		};
-	}
-	/**
-	 * Initializes this dialog's controls.
-	 */
-	private void initializeDialog() {
-		selectionGroup
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				getButton(IDialogConstants.OK_ID).setEnabled(
-					!selectionGroup.getListTableSelection().isEmpty());
-			}
-		});
-		selectionGroup.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				buttonPressed(IDialogConstants.OK_ID);
-			}
-		});
-
-		getButton(IDialogConstants.OK_ID).setEnabled(false);
-	}
-
-	/**
-	 * Returns the file the user chose or <code>null</code> if none.
-	 */
-	public IStructuredSelection getResult() {
-		return result;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			result= selectionGroup.getListTableSelection();
-		}
-		super.buttonPressed(buttonId);
-	}
-	/**
-	 * Sets whether this dialog will allow multi-selection.
-	 * Must be called before <code>open</code>
-	 * @param allowMultiselection whether to allow multi-selection in the dialog
-	 */
-	public void setAllowMultiselection(boolean allowMultiselection) {
-		this.allowMultiselection= allowMultiselection;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
deleted file mode 100644
index 167223e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * This class was derived from org.eclipse.ui.internal.misc.CheckboxTreeAndListGroup
- *
- */
-public class TreeAndListGroup implements ISelectionChangedListener {
-	private Object root;
-	private Object currentTreeSelection;
-	private List selectionChangedListeners = new ArrayList();
-	private List doubleClickListeners= new ArrayList();
-
-	private ITreeContentProvider treeContentProvider;
-	private IStructuredContentProvider listContentProvider;
-	private ILabelProvider treeLabelProvider;
-	private ILabelProvider listLabelProvider;
-
-	// widgets
-	private TreeViewer treeViewer;
-	private TableViewer listViewer;
-	private boolean allowMultiselection= false;
-
-	/**
-	 *	Create an instance of this class.  Use this constructor if you wish to specify
-	 *	the width and/or height of the combined widget (to only hardcode one of the
-	 *	sizing dimensions, specify the other dimension's value as -1)
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param style int
-	 *  @param rootObject java.lang.Object
-	 *	@param width int
-	 *	@param height int
-	 *  @param allowMultiselection Whether to allow multi-selection in the list viewer.
-	 */
-	public TreeAndListGroup(Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height, boolean allowMultiselection) {
-
-		root = rootObject;
-		this.treeContentProvider = treeContentProvider;
-		this.listContentProvider = listContentProvider;
-		this.treeLabelProvider = treeLabelProvider;
-		this.listLabelProvider = listLabelProvider;
-		this.allowMultiselection= allowMultiselection;
-		createContents(parent, width, height, style);
-	}
-	/**
-	 * This method must be called just before this window becomes visible.
-	 */
-	public void aboutToOpen() {
-		currentTreeSelection = null;
-
-		//select the first element in the list
-		Object[] elements = treeContentProvider.getElements(root);
-		Object primary = elements.length > 0 ? elements[0] : null;
-		if (primary != null) {
-			treeViewer.setSelection(new StructuredSelection(primary));
-		}
-		treeViewer.getControl().setFocus();
-	}
-	/**
-	 *	Add the passed listener to collection of clients
-	 *	that listen for changes to list viewer selection state
-	 *
-	 *	@param listener ISelectionChangedListener
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
-	
-	/**
-	 * Add the given listener to the collection of clients that listen to
-	 * double-click events in the list viewer
-	 * 
-	 * @param listener IDoubleClickListener
-	 */
-	public void addDoubleClickListener(IDoubleClickListener listener) {
-		doubleClickListeners.add(listener);
-	}
-
-	/**
-	 * Notify all selection listeners that a selection has occurred in the list
-	 * viewer
-	 */
-	protected void notifySelectionListeners(SelectionChangedEvent event) {
-		Iterator iter = selectionChangedListeners.iterator();
-		while (iter.hasNext()) {
-			 ((ISelectionChangedListener) iter.next()).selectionChanged(event);
-		}
-	}
-	
-	/**
-	 * Notify all double click listeners that a double click event has occurred
-	 * in the list viewer
-	 */
-	protected void notifyDoubleClickListeners(DoubleClickEvent event) {
-		Iterator iter= doubleClickListeners.iterator();
-		while (iter.hasNext()) {
-			((IDoubleClickListener) iter.next()).doubleClick(event);
-		}
-	}
-
-	/**
-	 *	Lay out and initialize self's visual components.
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param width int
-	 *	@param height int
-	 */
-	protected void createContents(Composite parent, int width, int height, int style) {
-		// group pane
-		Composite composite = new Composite(parent, style);
-		composite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createTreeViewer(composite, width / 2, height);
-		createListViewer(composite, width / 2, height);
-
-		initialize();
-	}
-	/**
-	 *	Create this group's list viewer.
-	 */
-	protected void createListViewer(Composite parent, int width, int height) {
-		int style;
-		if (allowMultiselection) {
-			style= SWT.MULTI;
-		} else {
-			style= SWT.SINGLE;
-		}
-		listViewer = new TableViewer(parent, SWT.BORDER | style);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(parent.getFont());
-		listViewer.setContentProvider(listContentProvider);
-		listViewer.setLabelProvider(listLabelProvider);
-		listViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				notifySelectionListeners(event);
-			}
-		});
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty()) {
-					notifyDoubleClickListeners(event);
-				}
-			}
-		});
-	}
-	/**
-	 *	Create this group's tree viewer.
-	 */
-	protected void createTreeViewer(Composite parent, int width, int height) {
-		Tree tree = new Tree(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		tree.setLayoutData(data);
-		tree.setFont(parent.getFont());
-
-		treeViewer = new TreeViewer(tree);
-		treeViewer.setContentProvider(treeContentProvider);
-		treeViewer.setLabelProvider(treeLabelProvider);
-		treeViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		treeViewer.addSelectionChangedListener(this);
-	}
-	
-	public Table getListTable() {
-		return listViewer.getTable();
-	}
-	
-	public IStructuredSelection getListTableSelection() {
-		ISelection selection=  this.listViewer.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			return (IStructuredSelection)selection;
-		} 
-		return StructuredSelection.EMPTY;
-	}
-	
-	protected void initialListItem(Object element) {
-		Object parent = treeContentProvider.getParent(element);
-		selectAndRevealFolder(parent);
-	}
-	
-	public void selectAndRevealFolder(Object treeElement) {
-		treeViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		treeViewer.setSelection(selection);
-	}
-	
-	public void selectAndRevealFile(Object treeElement) {
-		listViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		listViewer.setSelection(selection);
-	}
-
-	/**
-	 *	Initialize this group's viewers after they have been laid out.
-	 */
-	protected void initialize() {
-		treeViewer.setInput(root);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		Object selectedElement = selection.getFirstElement();
-		if (selectedElement == null) {
-			currentTreeSelection = null;
-			listViewer.setInput(currentTreeSelection);
-			return;
-		}
-
-		// ie.- if not an item deselection
-		if (selectedElement != currentTreeSelection) {
-			listViewer.setInput(selectedElement);
-		}
-
-		currentTreeSelection = selectedElement;
-	}
-	/**
-	 *	Set the list viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setListProviders(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-		listViewer.setContentProvider(contentProvider);
-		listViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's list viewer
-	 */
-	public void setListSorter(ViewerSorter sorter) {
-		listViewer.setSorter(sorter);
-	}
-	/**
-	 * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
-	 * value.
-	 * @param newRoot
-	 */
-	public void setRoot(Object newRoot) {
-		this.root = newRoot;
-		initialize();
-	}
-
-	/**
-	 *	Set the tree viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setTreeProviders(ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's tree viewer
-	 */
-	public void setTreeSorter(ViewerSorter sorter) {
-		treeViewer.setSorter(sorter);
-	}
-
-	/**
-	 * Set the focus on to the list widget.
-	 */
-	public void setFocus() {
-
-		this.treeViewer.getTree().setFocus();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
deleted file mode 100644
index 3bf74d4..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-
-public class BuildProjectResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		IResource resource= ExternalToolBuilder.getBuildProject();
-		if (argument != null && resource != null) {
-			resource = ((IProject)resource).findMember(new Path(argument));
-		}
-		if (resource != null && resource.exists()) {
-			return resource.getLocation().toOSString();
-		}
-		abort(MessageFormat.format(VariableMessages.BuildProjectResolver_3, new String[]{getReferenceExpression(variable, argument)}), null);
-		return null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 *  
-	 * @param message exception message
-	 * @param exception underlying exception or <code>null</code> 
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, message, exception));
-	}
-	
-	/**
-	 * Returns an expression used to reference the given variable and optional argument.
-	 * For example, <code>${var_name:arg}</code>.
-	 * 
-	 * @param variable referenced variable
-	 * @param argument referenced argument or <code>null</code>
-	 * @return vraiable reference expression
-	 */
-	protected String getReferenceExpression(IDynamicVariable variable, String argument) {
-		StringBuffer reference = new StringBuffer();
-		reference.append("${"); //$NON-NLS-1$
-		reference.append(variable.getName());
-		if (argument != null) {
-			reference.append(":"); //$NON-NLS-1$
-			reference.append(argument);
-		}
-		reference.append("}"); //$NON-NLS-1$
-		return reference.toString();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
deleted file mode 100644
index c370724..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-
-
-public class BuildTypeResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) {
-			return ExternalToolBuilder.getBuildType();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java
deleted file mode 100644
index e282a56..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import java.io.File;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class SystemPathResolver implements IDynamicVariableResolver {
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-        if (argument == null) {
-            throw new CoreException(new Status(IStatus.ERROR,  IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, VariableMessages.SystemPathResolver_0, null));
-        }
-        Map map= DebugPlugin.getDefault().getLaunchManager().getNativeEnvironment();
-        String path= (String) map.get("PATH"); //$NON-NLS-1$
-        if (path == null) {
-            return argument;
-        }
-        StringTokenizer tokenizer= new StringTokenizer(path, File.pathSeparator);
-        while (tokenizer.hasMoreTokens()) {
-            String pathElement= tokenizer.nextToken();
-            File pathElementFile= new File(pathElement);
-            if (pathElementFile.isDirectory()) {
-                File toolFile= new File(pathElementFile, argument);
-                if (toolFile.exists()) {
-                    return toolFile.getAbsolutePath();
-                }
-            }
-        }
-      return argument;
-	} 
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
deleted file mode 100644
index 959a714..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class VariableMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.variables.VariableMessages";//$NON-NLS-1$
-
-	public static String BuildProjectResolver_3;
-	public static String SystemPathResolver_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, VariableMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
deleted file mode 100644
index 65a694e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BuildProjectResolver_3=Variable references non-existent resource : {0}
-SystemPathResolver_0=External tool argument must be specified for the system_path variable
diff --git a/org.eclipse.ui.externaltools/META-INF/MANIFEST.MF b/org.eclipse.ui.externaltools/META-INF/MANIFEST.MF
deleted file mode 100644
index 09312f2..0000000
--- a/org.eclipse.ui.externaltools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.externaltools; singleton:=true
-Bundle-Version: 3.1.1
-Bundle-Activator: org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.externaltools.internal.launchConfigurations;x-friends:="org.eclipse.ant.ui",
- org.eclipse.ui.externaltools.internal.menu;x-internal:=true,
- org.eclipse.ui.externaltools.internal.model;x-friends:="org.eclipse.ant.ui",
- org.eclipse.ui.externaltools.internal.program.launchConfigurations;x-friends:="org.eclipse.ant.ui",
- org.eclipse.ui.externaltools.internal.registry;x-internal:=true,
- org.eclipse.ui.externaltools.internal.ui;x-friends:="org.eclipse.ant.ui",
- org.eclipse.ui.externaltools.internal.variables;x-internal:=true
-Require-Bundle: org.eclipse.ui.ide;resolution:=optional,
- org.eclipse.core.resources,
- org.eclipse.core.variables,
- org.eclipse.ui,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
deleted file mode 100644
index 2d7ab0a..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-
-/**
- * Refreshes resources as specified by a launch configuration, when 
- * an associated process terminates.
- */
-public class BackgroundResourceRefresher implements IDebugEventSetListener  {
-
-	private ILaunchConfiguration fConfiguration;
-	private IProcess fProcess;
-	
-	public BackgroundResourceRefresher(ILaunchConfiguration configuration, IProcess process) {
-		fConfiguration = configuration;
-		fProcess = process;
-	}
-	
-	/**
-	 * If the process has already terminated, resource refreshing is done
-	 * immediately in the current thread. Otherwise, refreshing is done when the
-	 * process terminates.
-	 */
-	public void startBackgroundRefresh() {
-		synchronized (fProcess) {
-			if (fProcess.isTerminated()) {
-				refresh();
-			} else {
-				DebugPlugin.getDefault().addDebugEventListener(this);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() == fProcess && event.getKind() == DebugEvent.TERMINATE) {
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-				refresh();
-				break;
-			}
-		}
-	}
-	
-	/**
-	 * Submits a job to do the refresh
-	 */
-	protected void refresh() {
-		Job job= new Job(ExternalToolsProgramMessages.BackgroundResourceRefresher_0) {
-			public IStatus run(IProgressMonitor monitor) {
-				try {
-					RefreshTab.refreshResources(fConfiguration, monitor);
-				} catch (CoreException e) {
-					ExternalToolsPlugin.getDefault().log(e);
-					return e.getStatus();
-				}	
-				return Status.OK_STATUS;
-			}
-		};
-		job.schedule();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
deleted file mode 100644
index 7e817f8..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ExternalToolsProgramMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.program.launchConfigurations.ExternalToolsProgramMessages";//$NON-NLS-1$
-
-	public static String BackgroundResourceRefresher_0;
-
-	public static String ProgramLaunchDelegate_Workbench_Closing_1;
-	public static String ProgramLaunchDelegate_The_workbench_is_exiting;
-	public static String ProgramLaunchDelegate_3;
-	public static String ProgramLaunchDelegate_4;
-
-	public static String ProgramMainTab_Select;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ExternalToolsProgramMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
deleted file mode 100644
index 059a026..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BackgroundResourceRefresher_0=Refreshing resources...
-
-ProgramLaunchDelegate_Workbench_Closing_1=Workbench Closing
-ProgramLaunchDelegate_The_workbench_is_exiting=The workbench is exiting and a program launched from an external tool appears to still be running. These programs will be terminated when the workbench exits. It is recommended that you exit any external programs launched from the workbench before you proceed.\n\nClick OK to continue exiting the workbench.
-ProgramLaunchDelegate_3=Running {0}...
-ProgramLaunchDelegate_4=An IProcess could not be created for the launch
-
-ProgramMainTab_Select=&Select a program:
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
deleted file mode 100644
index 4bfb827..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsBuilderTab;
-
-public class ProgramBuilderTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new ExternalToolsBuilderTab(),
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
deleted file mode 100644
index fb11074..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243)
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Launch delegate for a program.
- */
-public class ProgramLaunchDelegate implements ILaunchConfigurationDelegate {
-
-	private static IWindowListener windowListener;
-
-	/**
-	 * A window listener that warns the user about any running programs when
-	 * the workbench closes. Programs are killed when the VM exits.
-	 */
-	private class ProgramLaunchWindowListener implements IWindowListener {
-		public void windowActivated(IWorkbenchWindow window) {
-		}
-		public void windowDeactivated(IWorkbenchWindow window) {
-		}
-		public void windowClosed(IWorkbenchWindow window) {
-			IWorkbenchWindow windows[]= PlatformUI.getWorkbench().getWorkbenchWindows();
-			if (windows.length > 1) {
-				// There are more windows still open.
-				return;
-			}
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType programType= manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE);
-			if (programType == null) {
-				return;
-			}
-			ILaunch launches[]= manager.getLaunches();
-			ILaunchConfigurationType configType;
-			ILaunchConfiguration config;
-			for (int i = 0; i < launches.length; i++) {
-				try {
-					config= launches[i].getLaunchConfiguration();
-					if (config == null) {
-						continue;
-					}
-					configType= config.getType();
-				} catch (CoreException e) {
-					continue;
-				}
-				if (configType.equals(programType)) {
-					if (!launches[i].isTerminated()) {
-						MessageDialog.openWarning(window.getShell(), ExternalToolsProgramMessages.ProgramLaunchDelegate_Workbench_Closing_1, ExternalToolsProgramMessages.ProgramLaunchDelegate_The_workbench_is_exiting);
-						break;
-					}
-				}
-			}
-		}
-		public void windowOpened(IWorkbenchWindow window) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve location
-		IPath location = ExternalToolsUtil.getLocation(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		// resolve working directory
-		IPath workingDirectory = ExternalToolsUtil.getWorkingDirectory(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve arguments
-		String[] arguments = ExternalToolsUtil.getArguments(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		int cmdLineLength = 1;
-		if (arguments != null) {
-			cmdLineLength += arguments.length;
-		}
-		String[] cmdLine = new String[cmdLineLength];
-		cmdLine[0] = location.toOSString();
-		if (arguments != null) {
-			System.arraycopy(arguments, 0, cmdLine, 1, arguments.length);
-		}
-		
-		File workingDir = null;
-		if (workingDirectory != null) {
-			workingDir = workingDirectory.toFile();
-		}
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		String[] envp = DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		if (windowListener == null) {
-			windowListener= new ProgramLaunchWindowListener();
-			PlatformUI.getWorkbench().addWindowListener(windowListener);
-		}
-		Process p = DebugPlugin.exec(cmdLine, workingDir, envp);
-		IProcess process = null;
-		
-		// add process type to process attributes
-		Map processAttributes = new HashMap();
-		String programName = location.lastSegment();
-		String extension = location.getFileExtension();
-		if (extension != null) {
-			programName = programName.substring(0, programName.length() - (extension.length() + 1));
-		}
-		programName = programName.toLowerCase();
-		processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName);
-		
-		if (p != null) {
-			monitor.beginTask(MessageFormat.format(ExternalToolsProgramMessages.ProgramLaunchDelegate_3, new String[] {configuration.getName()}), IProgressMonitor.UNKNOWN);
-			process = DebugPlugin.newProcess(launch, p, location.toOSString(), processAttributes);
-			if (process == null) {
-				p.destroy();
-				throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, ExternalToolsProgramMessages.ProgramLaunchDelegate_4, null));
-			}
-			
-		}
-		process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(cmdLine));
-		
-		if (CommonTab.isLaunchInBackground(configuration)) {
-			// refresh resources after process finishes
-			if (RefreshTab.getRefreshScope(configuration) != null) {
-				BackgroundResourceRefresher refresher = new BackgroundResourceRefresher(configuration, process);
-				refresher.startBackgroundRefresh();
-			}				
-		} else {
-			// wait for process to exit
-			while (!process.isTerminated()) {
-				try {
-					if (monitor.isCanceled()) {
-						process.terminate();
-						break;
-					}
-					Thread.sleep(50);
-				} catch (InterruptedException e) {
-				}
-			}
-			
-			// refresh resources
-			RefreshTab.refreshResources(configuration, monitor);
-		}
-	}
-	
-	private String generateCommandLine(String[] commandLine) {
-		if (commandLine.length < 1)
-			return ""; //$NON-NLS-1$
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < commandLine.length; i++) {
-			buf.append(' ');
-			char[] characters= commandLine[i].toCharArray();
-			StringBuffer command= new StringBuffer();
-			boolean containsSpace= false;
-			for (int j = 0; j < characters.length; j++) {
-				char character= characters[j];
-				if (character == '\"') {
-					command.append('\\');
-				} else if (character == ' ') {
-					containsSpace = true;
-				}
-				command.append(character);
-			}
-			if (containsSpace) {
-				buf.append('\"');
-				buf.append(command);
-				buf.append('\"');
-			} else {
-				buf.append(command);
-			}
-		}	
-		return buf.toString();
-	}	
-	
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
deleted file mode 100644
index 6969274..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.ui.FileSelectionDialog;
-
-public class ProgramMainTab extends ExternalToolsMainTab {
-
-	/**
-	 * Prompts the user for a program location within the workspace and sets the
-	 * location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		FileSelectionDialog dialog;
-		dialog = new FileSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsProgramMessages.ProgramMainTab_Select);
-		dialog.open();
-		IStructuredSelection result = dialog.getResult();
-		if (result == null) {
-			return;
-		}
-		Object file= result.getFirstElement();
-		if (file instanceof IFile) {
-			StringBuffer expression = new StringBuffer();
-			expression.append("${workspace_loc:"); //$NON-NLS-1$
-			expression.append(((IFile)file).getFullPath().toString());
-			expression.append("}"); //$NON-NLS-1$
-			locationField.setText(expression.toString());
-		}
-	}
-	
-	
-   	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
deleted file mode 100644
index 73a0e15..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-
-public class ProgramTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/about.html b/org.eclipse.ui.externaltools/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/org.eclipse.ui.externaltools/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/build.properties b/org.eclipse.ui.externaltools/build.properties
deleted file mode 100644
index 6f02b6f..0000000
--- a/org.eclipse.ui.externaltools/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = External Tools Base/,\
-				Program Tools Support/
-
-src.includes=about.html
-
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               META-INF/
diff --git a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml b/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
deleted file mode 100644
index c0b6754..0000000
--- a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.externaltools Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation 
-     
-     -->
-<project name="Export externaltools" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.ui.externaltools_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar destfile="${dest}/externaltools.jar">
-			<fileset dir="bin">
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip destfile="${dest}/externaltoolssrc.zip">
-			<fileset dir="External Tools Base"/>
-			<fileset dir="Program Tools Support"/>
-		</zip>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
deleted file mode 100644
index 4122d9a..0000000
--- a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif b/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
deleted file mode 100644
index 903bbec..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif b/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
deleted file mode 100644
index cb55e33..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif b/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif b/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
deleted file mode 100644
index 0193dbe..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif b/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
deleted file mode 100644
index 38a9ab9..0000000
--- a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/plugin.properties b/org.eclipse.ui.externaltools/plugin.properties
deleted file mode 100644
index 3aa242b..0000000
--- a/org.eclipse.ui.externaltools/plugin.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name = External Tools
-Plugin.providerName = Eclipse.org
-
-build_type.description= Returns the type of build being performed - "incremental", "full", "auto", or "none".
-build_project.description= Returns the absolute file system path of the project currently being built, or the absolute file system path of the resource identified by an optional argument interpreted as a path relative to the project currently being built.
-system_path.description= Returns the absolute file system path of the external tool. Resolved by finding the first occurrence of the named tool based on the system path specification. The tool name must be supplied as an argument.
-
-ExtPoint.configurationDuplicationMaps = Launch Configuration Duplication Maps
-ExtPoint.toolTypes = External Tool Types
-ExtPoint.refreshVariables = Refresh Scope Variables
-ExternalToolsLaunchGroup.label = &External Tools
-ExternalToolsLaunchGroup.title = Select or configure an external tool to run
-Menu.run = &Run
-ActionSet.externalTools = External Tools
-Action.externalTools = &External Tools
-Action.externalToolsTip = Run Last Tool
-PropertyPage.main = Main
-PropertyPage.option = Options
-PropertyPage.refresh = Refresh Scope
-PropertyPage.antTargets = Targets
-PropertyPage.externalToolsBuilders = Builders
-
-Builder.externalTools = Integrated External Tool Builder
-View.externalToolView = External Tools
-PreferencePage.externalToolsPreferences = External Tools
-
-Program.externalTools = Program
-programLaunchConfigurationTabGroup.description=Run a program
-programBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run a program during builds
-
-ActionDefinition.externalToolMenuDelegateToolbar.name=Run Last Launched External Tool
-ActionDefinition.externalToolMenuDelegateToolbar.description=Runs the last launched external Tool
-
-ActionDefinition.openExternalToolsConfigurations.name=External Tools...
-ActionDefinition.openExternalToolsConfigurations.description=Open external tools launch configuration dialog
diff --git a/org.eclipse.ui.externaltools/plugin.xml b/org.eclipse.ui.externaltools/plugin.xml
deleted file mode 100644
index e5c153c..0000000
--- a/org.eclipse.ui.externaltools/plugin.xml
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- For internal use only. Not to be extended. -->
-   <extension-point id="configurationDuplicationMaps" name="%ExtPoint.configurationDuplicationMaps"  schema="schema/configurationDuplicationMaps.exsd"/>
-
-<!-- UI extensions -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.externalTools"
-            visible="true"
-            id="org.eclipse.ui.externaltools.ExternalToolsSet">
-         <menu
-               label="%Menu.run"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="ExternalToolsGroup">
-            </separator>
-         </menu>
-         <action
-               label="%Action.externalTools"
-               style="pulldown"
-               icon="$nl$/icons/full/obj16/external_tools.gif"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               menubarPath="org.eclipse.ui.run/ExternalToolsGroup"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateMenu">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-               label="%Action.externalTools"
-               style="pulldown"
-               icon="$nl$/icons/full/obj16/external_tools.gif"
-               tooltip="%Action.externalToolsTip"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations"
-               label="%ActionDefinition.openExternalToolsConfigurations.name"
-               class="org.eclipse.ui.externaltools.internal.menu.OpenExternalToolsConfigurations"
-               id="org.eclipse.ui.externaltools.OpenExternalToolsConfigurations">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ActionDefinition.externalToolMenuDelegateToolbar.name"
-            description="%ActionDefinition.externalToolMenuDelegateToolbar.description"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-      </command>
-       <command
-            name="%ActionDefinition.openExternalToolsConfigurations.name"
-            categoryId="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openExternalToolsConfigurations.description"
-            id="org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.externalToolsPreferences"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.ui.externaltools.internal.ui.ExternalToolsPreferencePage"
-            id="org.eclipse.ui.externaltools.ExternalToolsPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%PropertyPage.externalToolsBuilders"
-            class="org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage"
-            id="org.eclipse.ui.externaltools.propertypages.BuilderPropertyPage">
-         <filter
-               name="open"
-               value="true">
-         </filter>
-      </page>
-   </extension>
-   <extension
-         id="ExternalToolBuilder"
-         name="%Builder.externalTools"
-         point="org.eclipse.core.resources.builders">
-      <builder
-      	isConfigurable= "true">
-         <run
-               class="org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder">
-         </run>
-      </builder>
-   </extension>
-<!-- Launch Configuration Extensions -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-      </launchConfigurationType>
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools.builder"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.ui.externaltools.configurationDuplicationMaps">
-      <configurationMap
-            sourceType="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            builderType="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </configurationMap>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            description="%programLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program">
-      </launchConfigurationTabGroup>
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            description="%programBuilderLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program_builder"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramBuilderTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program.builder">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="$nl$/icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program">
-      </launchConfigurationTypeImage>
-      <launchConfigurationTypeImage
-            icon="$nl$/icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program.builder">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="$nl$/icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools"
-            image="$nl$/icons/full/obj16/external_tools.gif"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup"
-            title="%ExternalToolsLaunchGroup.title">
-      </launchGroup>
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="$nl$/icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools.builder"
-            image="icons/full/obj16/external_tools.gif"
-            public="false"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup.builder">
-      </launchGroup>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="build_type"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildTypeResolver"
-            description="%build_type.description"
-            supportsArgument="false">
-      </variable>
-       <variable
-            name="build_project"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildProjectResolver"
-            description="%build_project.description">
-      </variable>
-       <variable
-            name="system_path"
-            resolver="org.eclipse.ui.externaltools.internal.variables.SystemPathResolver"
-            description="%system_path.description"
-            supportsArgument="true">
-      </variable>
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE"
-            class="org.eclipse.ui.externaltools.internal.launchConfigurations.WorkingSetComparator"
-            id="org.eclipse.ui.externaltools.workingSetComparator">
-      </launchConfigurationComparator>
-   </extension>
-   
-   	<extension point="org.eclipse.core.runtime.preferences">
-		<initializer class="org.eclipse.ui.externaltools.internal.model.ExternalToolsPreferenceInitializer"/>
-	</extension>
-
-</plugin>
diff --git a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd b/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
deleted file mode 100644
index 731db79..0000000
--- a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.externaltools">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.externaltools" id="configurationDuplicationMaps" name="Configuration Duplication Maps"/>
-      </appInfo>
-      <documentation>
-This is an internal extension point to declare the launch configuration type that
-should be created when duplicating an existing configuration as a project builder.
-
-Clients are not intended to use this extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="configurationMap" 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="configurationMap">
-      <complexType>
-         <attribute name="sourceType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type for which this mapping is provided
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="builderType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type which should be created when a configuration of type "sourceType" is imported to be a project builder
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-The following example specifies that when the user chooses to import a launch configuration
-of the type &quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;, a new launch
-configuration of the type&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;
-should be created.
-
-&lt;pre&gt;
-&lt;extension
-      point=&quot;org.eclipse.ui.externaltools.configurationDuplicationMaps&quot;&gt;
-   &lt;configurationMap
-         sourceType=&quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;
-         builderType=&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;&gt;
-   &lt;/configurationMap&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-   
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-      
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2003, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>